-
js 严格模式
查看全部 -
try catch finally
查看全部 -
slice、concat 、map不会改变原数组;
reverse、sort会改变原数组;
splice会改变原数组;返回被删除的属性;
every所有属性满足条件才会返回true;
some只要有一个满足的就会返回true;
判断数组的方式:
Array.isArray([]); // true
[] instanceof Array; // true
({}).toString.apply([]) === '[object Array]'; // true
[].constructor === Array; // trure
查看全部 -
javascript 基本数据类型
查看全部 -
注意没有块级作用域,所以要注意var i 的使用
查看全部 -
数组、对象的初始化表达式
查看全部 -
1.稀疏数组,下标不是从0开始,length>实际数组元素个数
2.可以直接给一个空数组,通过赋值的方式,指定某个下标值为多少,如果只是指定下标没有赋值,那么数组依然是空的,用in判断指定下标值 in
数组,返回是false,一旦赋值了,哪怕是undefined,null或是'',数组就不再是空的了,用指定下标值 in 数组,返回是true
3.二维数组,就是一维数组的元素是数组,所以通过一维数组下标只是找到了子数组,要想访问子数组的元素,还需要子数组的下标。所以要想访问二维数组元素,外层数组名[外层数组下标值][字数组下标值]
查看全部 -
割对象添加自定义属性用Object.definePrototype(1, 2, 3);
1是需要添加属性的对象;
2是添加属性的名称;
3是新添加对象的属性{},是否可枚举、value等
create方法创建的对象比自变量创建的对象多了,父元素的属性可被枚举;如果不想要父元素的元素,可用hasOwnProperty()方法过滤
查看全部 -
将字符串变成数字:'num'-0;
将数字变成字符串:num+'';
查看全部 -
new创建的属性还是属于字面量的对象属性,
create创建的属性是属于原型里的属性了,obj的proto等于原型的prototype, obj.protot == foo.prototype;
函数的prototype等于Object.prototype等于null
Object.prototype包含toString方法
z包含在obj中,hasOwnProperty(“key”) 只能识别字面量(自己)的属性,原型里的属性都会返回false;
obj直接赋值不会覆盖原型中的值,而是在自己的属行政查找如果没有就自动添加属性和值,这就是继承。如果想要获取原型中的值就需要delete掉刚才添加的属性
查看全部 -
var x=function(){};不会被预先处理 因此在x之前无法调用
查看全部 -
抛出异常会寻找最近的catch语句进行异常处理
查看全部 -
js查看全部
-
get promote查看全部
-
当一个数字和一个字符串作运算时 +理解为字符串连接 -理解为数值相减
例:‘37+7='377’
'37'-7=30
==当两端类型不同时会转成相同类型
===当两端不同时返回false
查看全部
举报