JS 笔记(一)
1. 页面引入
1) 标签直接引入脚本(推荐):
<script type="text/javascript"> 脚本语言 </script>
2) 标签引入脚本文件(推荐):
<script type="text/javascript“ src=“path/xxx.js”></script>
注意: </script>结束标签不能简写为:
<script type="text/javascript“ src=“path/xxx.js”/> <!-- 错误 -->
好处:可跨域加载js文件、多页面共享、减少网络流量
说明:引用脚本文件时,由于js的加载时“阻塞”模式,所以需要等到js全部加载完成以后才会继续向后执行,所以如果对于性能要求比较高时,可考虑把js加载放到页面的最后,提高用户体验。
3) 协议引入脚本:
<a href="javascript: alert('...')">单击我</a>
2. 基本语法
1)注释:
<script type="text/javascript">
//单行 /*
多行注释
*/
</script> <!--<script type="text/javascript">...</script>-->
<!--只能注释整个script标签,当某些浏览器不支持JavaScript的时候,把<script></script>标签中的内容注释掉,这样就不会显示在浏览器上了。用IE1.5可以测试出效果。现在基本可以不考虑这个问题了-->
2) 变量:变量名必须由字母、数字、_和$组成,不能以数字开头
3)运算符:
a) + - * / %
b) 三元运算符
4)选择判断语句
a) if else 、switch case
b) switch判断相等时,是 “全等于(===)”
5)循环语句 - 循环遍历数组
for(var i=0;i<10;i++){ … } for(var i in arr) { … }//此处的i表示的是数组的下标或键值对集合的键,而不是值
注意:
1)使用forin循环可以遍历对象的所有属性
2)Forin循环其实遍历的还是key
6)转义符
a) 常见转义符: \t、\n、\’、\”、\\
b) 输出:c:\windows\microsoft\vs.txt → alert(‘c:\\windows\\microsoft\\vs.txt’);不能用@,@只在C#中有效。
c) 在用正则表达式的时候也会遇到转义符问题。(*)
7)消息框
a) alert,弹出消息窗口
b) confirm,确定、取消对话框,返回true或false
c) prompt
<script type="text/javascript">
if(confirm("确定要继续吗?"))
{
//从键盘接收第一个值,注意使用prompt得到的值的类型是string字符串
var num1 = prompt("请输入第一个", "0");//IE8阻止了,窗口弹出
var num2 = prompt("请输入第二个", "0"); //需要做类型转换才能计算值,不然会做为字符串连接
alert(parseInt(num1) + parseInt(num2));
}
else
{
alert("到此结束");
}
</script>
8)异常:try{ ... }catch(error){ ... }
function funTest() {
try {
var num1 = prompt("请输入一个数字", "0");
if (isNaN(num1)) {
throw new Error("请输入数字");
}
alert(num1);
} catch (e) {
alert(e.Message);
return 1;
} finally {
alert("finally");
return 2;
}
}
var num = funTest();
alert(num); //此处永远是2
//throw主要用于抛出自定义异常,开发者自定义的异常包含的异常信息可能会更多更详细。
JS 笔记(一)的更多相关文章
- Data Visualization and D3.js 笔记(1)
课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...
- js笔记-0
#js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...
- PPK谈JS笔记第一弹
以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...
- 面向小白的JS笔记 - #Codecademy#学习笔记
前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...
- require.js笔记
笔记参考来源:阮一峰 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 1. 浏览器端的模块只能采用“异步加载”方式 = ...
- JS笔记 入门第四
小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...
- JS笔记 入门第二
输出内容 document.write(); alert("hello!"); alert(mynum); </script> 注:alert弹出消息对话框(包含一个确 ...
- Node.js笔记1
Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...
- JS笔记 入门第一
WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...
- 奇舞js笔记——第0课——如何写好原生js代码
摘要 1.好的代码职责要清晰,javscript不要用来操作样式: 2.API要设计的合理:通用性,适度的抽象(数据抽象,过程抽象),可扩展性: 3.效率问题:用好的.合适的算法(前端程序员要把自己当 ...
随机推荐
- MarkDown常用语法记录
目录 1. 斜体和粗体 2. 分级标题 3. 超链接 3.1 行内式(推荐) 3.2 行外式 3.3 自动链接 4. 锚点 5. 列表 5.1无序列表 5.2有序列表 6. 引用 7. 插入图像 8. ...
- RansomNote
Given an arbitrary ransom note string and another string containing letters from all th ...
- SQL Server Reporting Service(SSRS) 第二篇 SSRS数据分组Parent Group
SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子默认使用Table进行简单的数据显示,有时为了进行更加直观的数据显示,我们需要按照某个字段对列表进行 ...
- Java之工厂方法
普通工厂模式: 第一步:定义接口,坚持面向接口编程, package dp; public interface Sender { public void send();} 第二步:实现接口: p ...
- cf#382div2
A. 题意:字符串长度n,每次可向左向右跳k个格子.要求不能在障碍物处停留('#'),可以在空地处停留(' . ').给出字符串,从G开始,问能不能到达T. 分析:直接从G处开始向两边搜,如果能到T则 ...
- MEF 生命周期PartCreationPolicy
为什么要单独把这个生命周期捞出来单独说一说呢?因为我今天就被这个东东坑了一把……新加了一个界面,第二次打开界面的时候会报错“指定的元素已经是另一个元素的逻辑子元素”.好嘛,我一看,哟,感觉就是xaml ...
- for语句嵌套循坏性能的剖析
日常工作中,处理数据难免会遇到遍历,for循环可能是我们用的比较多的了.本节就来探讨下for语句嵌套循环的性能,猜想下面两个语句的性能. 语句1 ; i < ; i++){ ; j < ; ...
- c#数据绑定(2)——删除DataTable的数据
文/嶽永鹏 c#数据绑定(1)中,简要的通过代码应用了DataTable,DataTableColumns,DataTableRow类,通过UI界面的Textbox向DataTable中添加数据然后响 ...
- Application.Run()和Form.Show()以及Form.ShowDialog()
ShowDialog()弹出模式化的窗体 Show()弹出非模式化的窗体 模式窗体,在关闭或隐藏前无法切换到主窗体. 非模式窗体,变换焦点使不必关闭窗体 总结:显示重要的信息,还是用模式窗体,如删除文 ...
- python pandas根据首字母选行
ret2.loc[ret2['INNERCODE'].map(lambda x:x[0]=='6' or x[0]=='3' or x[0]=='0' ),:]和matlab不一样的风格 - -直接用 ...