1.读一个未声明的变量的值,会出错误。如果尝试给一个未用var 声明的变量赋值,js会隐式声明变量。隐式声明的变量总是被创建为全局变量,即使它只在一个函数体内使用。

2.数值、布尔值、null、undefined属基本类型。对象、数组、函数属于引用类型,赋值会通过传址的形式。
3.+运算符,若有一个不是数值型,将会都转化为字符串类型进行连接运算。比较运算符,如果两个都是字符串,则进行字符串比较,否则转化为数字比较。
4.typeof()对null会返回object
5.delete只能删除属性的值,而不能影响这些属性的应用。即某属性之前被赋值给某对象以后,删除该属性,则仍然可以访问到该属性。
6. .运算符左边是对象,右边的运算数是标识符,为属性或者方法名。[]的左边的运算数引用的是数组的时候,第二个运算数应该是证书表达式;当它左边是对象时,右边的运算数是属性,此时不再是标识符。
7.数组的下标不必落在一个连续的数字范围内,它也只会会给定义的元素分配内存。
8.sort()内的回调函数工作原理:如果第一个参数应该位于第二个参数之前,比较函数就应该返回一个小于0的数,反之大于0.相等则等于0.
9.当传递的参数比函数需要的个数多的时候,多余的值会被忽略掉,少的话,则会被赋予undefined
10.arguments对象用来访问函数参数.
11.当一个嵌套的函数在一个包含的函数中调用,而这个包含的函数时作为方法调用的,也是成立的。
12.arguments.length是实参长度,arguments.callee.length是形参长度
13.嵌套的函数可以访问包含函数的所有参数和局部变量。