-
严格模式和普通模式的区别: ①严格模式下不允许使用with,会报语法错误:SyntaxError !function(){ !function(){ with({x:1}){ "use strict"; console.log(x); with({x:1}){ } console.log(x); } } ②不允许未声明的变量被赋值 ③arguments变为参数的静态副本 一般模式下定义了一个函数,形参和arguments有相互的绑定关系,修改arguments对应的形参a也会被修改,注意:不传实参修改arguments,a依然是undefined,不会受arguments所影响 严格模式下arguments变为参数的静态副本,不管参数传与不传,都不会和arguments相互影响,注意虽然arguments和形参a没有绑定关系,但如果传入的是一个对象,那么修改这个对象的属性仍然会相互影响查看全部
-
严格模式:是一种特殊的执行模式,它修复了部分语言上的不足,提供更强的错误检查,并增强安全性 如:想让函数func在严格模式下执行,可以开头用一个字符串"use strict";这样一个指令,这样的好处可以向上兼容,如果老版本的IE浏览器不支持,只会当成是一个普通的字符串被忽略掉,也可以在整个JS文件的开头用"use strict";,这样就指定整个JS代码都在严格模式下执行,注意不能和var写在一起 function func(){ "use strict"; }查看全部
-
注意:JavaScript严格模式下已经禁用with查看全部
-
switch语句的三种情况: ①switch语句中,值为2时,有break会跳出,输出2对应的内容,不再继续执行下面的代码 ②switch语句中,值为2时,没有break,会输出2和2下面的内容,知道代码结束 ③也可以分组break,值为2时,会输出存在2的组查看全部
-
var p; var obj = {x:1,y:2} for(p in obj){ } ①for in 的顺序是不确定的,如果想按照顺序便利数组或属性不要使用 ②enumerable标签为false时不会在for in中出现 ③for in 对象属性会受原型链的影响查看全部
-
用function语句定义的函数变量 ----- 函数声明 function fd(){ // do sth. return true; } 语句定义的另一种 ----- 函数表达式 var fe = function(){ //定义一个匿名函数表达式赋值给fe // do sth. }; 主要区别: 函数声明会被预先处理,所以在函数声明之前调用这个函数也是可以的,可以调用成功,但是函数表达式不可以查看全部
-
cat.legs != undefined包含 !==undefined or !==null查看全部
-
var yz = obj && obj.y && obj.y.z; 用运算符来判断是否存在,存在返回obj.y.z的值,不存在返回undefined查看全部
-
两个参数,第一个是要查找的值,第二个是要从哪里开始查找。查看全部
-
区间左闭右开,负数表示从末尾开始查看全部
-
数组合并,拉平一次查看全部
-
数组从小到大的排列查看全部
-
try catch : ①提供了一个异常捕获的机制 ②执行流程:首先执行try块中的代码,如果抛出异常会由catch从句去捕获并执行,如果没有发生异常,catch中的代码就会被忽略掉,不管有没有异常最后都会执行finally从句,try后面必须接着一个catch或finally ③try catch可以有三种形式:try catch 、try finally 、try catch finally查看全部
-
var obj = Object.create(null); obj.toString;//undefined查看全部
-
函数也是一种特殊的对象。查看全部
举报
0/150
提交
取消