1. ”use strict" 进入严格模式
<script>
"use strict";
console.log("这是严格模式。");
</script>
http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html
2. arguments
arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性(当前函数的参数集合。arguments.callee指当前函数本身,但是严格模式被禁用)
http://www.cnblogs.com/lwbqqyumidi/archive/2012/12/03/2799833.html'
3.Null类型只有一个专用值 null,值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。
<script type="text/javascript">
alert("null == undefined的结果是:"+(null == undefined)); //输出 "true"
</script>
尽管这两个值相等,但它们的含义不同。undefined是声明了变量但未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象(typeof运算符对于 null值会返回 "Object"。)。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。
4.javascript引用数据类型是保存在堆内存中的对象,JavaScript不允许直接访问堆内存空间中的位置和操作堆内存空间,只能通过操作对象在栈内存中的引用地址。所以引用类型的数据,在栈内存中保存的实际上是对象在堆内存中的引用地址。通过这个引用地址可以快速查找到保存在堆内存中的对象。引用类型是可以添加属性,基本类型虽然也可以添加属性,也不会报错,经测试添加完之后却是无法访问的。
<script type="text/javascript">
var obj1 =new Object();
var obj2 = obj1;
obj2.name = "名称";
alert(obj1.name); // 名称
</script>
5.双引号内要写字符串双引号,加反斜杠\ 如\” alert(“\”\””);//输出”“
6.isFinite() 函数用于检查其参数是否是无穷大,如果 number是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number是 NaN(非数字),或者是正、负无穷大的数,则返回 false。
7.js遍历数组
var arr = new Array();
arr["arr0"]=1;
arr["arr1"]=2;
arr["arr2"]=3;
for (var i in arr) {
alert(arr[i]);
}
或者 arr.arr0 但是不能用普通for循环(只有索引是数字才能用arr.length for循环)
8.<button><button/>在form中会有提交功能,相当于<input type=“submit”> 尽量用<input type=“buttion”>
9.arry.shift() ;删除数组的第一个元素 arry.pop();数组尾部删除元素 从数组的 尾部/头部 删除1个元素(删且只删除1个),并返回 被删除的元素;空数组是继续删除,不报错,但返回undefined;
arry.unshift(xx);数组头部添加元素 arry.push(xx);数组尾部添加元素 向数组的 尾部/头部 添加若干元素,并返回 数组的 新长度;