1.脚本代码写在
2.不要在代码中的任何地方出现"</script>"这样的字符串。
3.在<script>元素中设置defer属性,相当于告诉浏览器立即下载。但延迟执行
4.在<script>元素中设置async属性,相当于告诉浏览器立即下载。不保证先后顺序
5.<noscript>用于在不支持脚本的浏览器中代替的内容。
6.严格模式 再顶部添加 "use strict"; 。
7.
1 function test() { 2 var message = "hi" // 局部变量 3 } 4 5 function test() { 6 message = "hi" // 省略var,全局变量 7 }
8.NaN 非数值 isNaN();
任何不能转换为数值的值,在调用isNaN()时,都返回true;
9.数值转换 Number(); parseInt(); parseFloat()10.按位非 ~; 按位与 &; 按位或 |; 按位异或 ^; 有符号右移>>。无符号右移>>>
逻辑非!!; 逻辑与 &&; 逻辑或||;
11.Infinity 正无穷。
12.label: statement。配合break和continue使用
13.函数体内通过arguments对象来访问参数数组。本身也是个数组
修改arguments中的值会同步参数的值。但修改参数的值。不会同步arguments的值。引用对象不同
arguments.callee() 指向拥有arguments这个对象的函数
arguments.caller() 指向当前函数的函数的引用
apply(this, 参数) 参数为数组
call(this, 参数) 参数需手动指定
bind(o) 函数调用bind会将this绑定到 o 上
14.类型检测 type instanceof
15.栈 调用数组的push() pop()
16.队列 调用数组的 unshift() pop()
17.数组常用方法
reverse() 颠倒数组
sort() 排序数组,可传入比较函数
splice() 插入 删除 替换
迭代方法
18.Date.parse("May 25, 2004") 接收一个可以转换为时间的字符串
19.正则
20.字符串常用方法
concat() 接收多个字符串,连接成一个字符串并返回
substring() 截取字符串,起始位置到结束位置
substr() 截取字符串,起始位置,截取的个数
模式匹配