-
原始 表达式查看全部
-
声明表达式,括号查看全部
-
类型检测小结查看全部
-
创建原型对象: var obj = Object.create(<proto_obj>[,<property>]*); 创建原型属性: obj.prototype.<property> = <value>; obj.prototype = {...};查看全部
-
原型prototype:所有对象皆有的属性,保存实例方法的真正所在。 原型链_proto_:指向构造当前对象的函数的prototype。终点是Object.prototype(指向null)。 访问属性时,会优先在对象自身查找,找不到时再顺着原型链去查找,直到终点都没找到就返回undefined; 修改或删除属性时,只能操作对象自身。查看全部
-
严格模式的改动: 1、eval作用域独立:不可给eval赋值,也不可在eval外访问eval内的变量。 2、不允许给未声明的变量赋值:变量必须用var声明。 3、不允许使用with语句。 4、arguments作为只读的静态副本,不与命名参数相互影响;且禁止使用arguments.callee和arguments.caller。 5、用delete删除变量、函数名会报错:只能删除configurable为true的对象属性。 6、禁止使用八进制表示法。 7、禁止this指向全局对象,默认为undefined;当apply或call中传入null或undefined时,this指向null或undefined。 8、对象属性不可重名,函数参数不可重名。查看全部
-
with语句:用于简化操作,会临时改变当前作用域(在作用域前端插入指定对象),不建议使用 with(<expression>){ <expression_property>*; <expression_method>*; <other_statement>*; }查看全部
-
循环语句: 1、<init>; while(<condition>){<statement>*;<counter>;} 2、<init>; do{<statement>*;<counter>;} while(<condition>) 3、for(<init>;<condition>;<counter>){<statement>*}查看全部
-
条件分支: switch(<expression>){ case <value1>: <statement>*; break; //此处若不加break语句,会继续执行下一个case或default …… case <valueN>: ... default: <default_statement>*; }查看全部
-
for(<expression> in <object>){}:枚举 注意: 1、由于对象是无序的,所以for-in顺序不定; 2、[[enumerable]]为false时,不可枚举; 3、受原型链影响; 4、存在一定的兼容性问题。查看全部
-
函数声明:function foo(<para>*){<statement>+} 函数表达式:var foo = function(<para>*){<statement>+} 构造函数:var foo = new Function('<para>'*,'<statements>'); 以上三种声明函数的方式,除了代码执行顺序不同,其他都是一样的。 最后一种会多解析一次,而且代码阅读性较差,不建议使用。查看全部
-
try{<执行语句>} catch(<异常>){<处理异常的语句>} finally{<不管有没有异常都执行此处的语句>} 如果try中嵌套try-catch-finally,必然先执行内部的try语句,有finally则必然会执行finally,之后再执行外部的catch、finally语句。查看全部
-
JS虽然有块语句,但没有块级作用域:在块语句(if、for等)中定义的变量,在块语句外也能访问到。 JS只有全局作用域和局部(函数)作用域。查看全部
-
JS语句查看全部
-
运算符优先级: 算术>比较>逻辑>赋值。 括号内优先执行。 逻辑运算符中!的等级最高。 同级运算符从左向右执行。查看全部
举报
0/150
提交
取消