-
IE9之后 利用defineProperty方法。
参数1为对象,参数2为属性,参数3为添加属性值标签。
查看全部 -
var val = (1,2,3); //val = 3
括号中的每个值都会被计算到,因此取最右边的值
查看全部 -
最明显的区别:fn.bind()调用后不会立即执行,需要再次调用才能执行, call和apply的区别:fn.call() 接收的参数为字符串,apply是数组形式的参数查看全部
-
函数声明时,可以先调用函数再声明,因为函数声明会前置,不能使用匿名函数,在定义该函数的作用域通过函数名访问; 函数表达式和函数构造器都是在代码执行阶段才会去创建对象,不可以先调用再声明,但是都可以立即调用,函数表达式可以是匿名函数,函数构造器没有函数名查看全部
-
函数声明和变量声明会前置,但函数表达式不会前置,表达式中声明的部分会前置。 定义函数的三种方法:函数声明,函数表达式(函数自变量)2种,构造函数法 函数表达式: 命名函数表达式(NFE):{ var func = function nfe(){}; alert(func===nfe);//'nfe' is undefined https://www.cnblogs.com/leaf930814/p/6825031.html nfe不能调用函数(只在作用域中起作用) func可以调用函数 } Function构造器(参数必须用双引号括起来,"a","b"..." function body")(不能访问闭包中的局部变量)(可用new,也可不用)查看全部
-
!function(a){
'use strict';
argumens[0] = 100;
console.log(a);
}
查看全部 -
类型相同,同===
类型不同,尝试类型转换和比较
null==undefined 相等
number==string转number 1=="1.0"//true 备注:尝试把字符串转换为数字
boolean==?转number 1==true //true
object== number | string 尝试对象转换为基本类型 new String("hi") =="hi" //true 其它:flash
查看全部 -
动态修改prototype具体的某个属性值时,已创建的实例会受到影响。
而对prototype整个进行赋值时,已创建的实例不会受到影响,但是会影响后续创建的实例
查看全部 -
JavaScript 数据类型
JavaScript 中有五种可包含值的数据类型:
字符串(string)
数字(number)
布尔(boolean)
对象(object)
函数(function)
有三种对象类型:
对象(Object)
日期(Date)
数组(Array)
同时有两种不能包含值的数据类型:
null
undefined
查看全部 -
javascript是弱类型的语言
查看全部 -
原型链截图
查看全部 -
三种不同的函数声明
查看全部 -
函数声明与表达式
查看全部 -
执行上下文(Execution Context,缩写EC)
查看全部 -
extensible为对象的可扩展性,有preventExtension方法来对对象添加属性作显示,但是已有的对象仍然可以删除修改,而seal方法则是对对象的configurable设为false,让对象无法删除属性从而重新定义,而freeze则是让对象进一步变为不可写
查看全部
举报