-
用===判断是不是null查看全部
-
数组和对象的区别 相同点: 都可以继承 数组是对象 对象不一定是数组 都可以当做对象添加删除属性 不同点:数组自动更新length 按索引访问数组常常比访问一般对象属性明显迅速 数组对象继承Array.prototype上的方法 字符串和数组 字符串是类数组 可以根据下标取到元素 也有长度的属性 var str ="hello"; str,charAt(0);//h str[1];//e Array.prototype.join.call(ste,'_'); 点call 的方式将字符串数组传进来 然后用_ 来进行拼接 //h_e_l_l_0查看全部
-
8判断是否是数组,有 4 种方法:1. Array.isArray(arr), 2. arr instanceof Array , 3. Object.prototype.toString.apply(arr) , 4. arr.constructor === Array查看全部
-
数组的方法(ES5的方法) 1.forEach 遍历 2.map 映射 var arr = [1,2,3]; arr.map(function(x){ return x +10; });//【11,12,13】 arr;//[1,2,3] 原数组未被修改 3.filter 数组过滤 arr = [1,2,3,4,5,6,7,8,9,10]; arr.filter(function(x,index){ return index%3 ===0 || x>=8; }); [1,4,7,8,9,10]; arr; 原数组未被修改 4. 数组判断 every 所有的元素都符合条件 返回true 否则返回false some 某个元素符合条件则返回true 若所有的元素都不符合条件则返回false var arr =[1,2,3]; arr.every(function(x){ return X<10; });//true arr.every(function(x){ return x < 3 });//false 6.reduce 数组中的元素两两之间的某些操作 从左到右 reduceRight 从右往左 var arr = [1,2,3]; var sum = arr.reduce(function(x,y){ return x+ y },0);//6 传入了一个0 则x相当于0 y 相当于1 然后值1 ; 然后此时 x 相当于1 y 相当于2 和为3 x相当于3 y 相当于3 和为6 所以结果为6 如果不传入0这个值 则X从数组的第一个元素开始 循环两两元素相加 reduceRight 同理 只不过是从右往左开始两两操作 7.indexOf 数组的检索 indexOf(a,b);a 是查找的元素 b是开始查找的位置 正数从左数的位置 负数从右数的位置 indexOf(元素); 返回的是元素的下标 不存在返回-1 lastIndexOf 从右往左查查看全部
-
稀疏数组 并不含有从0开始的连续索引 一般length 属性值比实际元素个数大查看全部
-
数组: 1、JS中的数组是弱类型的 数组中可以含有不同类型的元素 数组元素甚至可以是对象 或者其他数组; 2.创建 2.1 字面量 var arr = ['ds','aa']; 2.2 new Array构造器 var arr = new Array(); var arr = new Array(10); 则表示该数组有10个空元素 var arr = new Array('a','b'); 等价于 ['a','b']; new 是可以省略的 3.数组的读写 数组元素增减 arr.push(1); 添加元素 arr.unshift()在数组头部添加元素 delete arr[2]; 是将数组中的下标为2的元素 变成undefined 并什么真正的删除 arr.pop() 删除数组的最后一个元素 arr.shift 删除数组的第一个元素 数组迭代 for循环 for in 遍历(定义在原型上的属性也会遍历出来) 使用hasOwnProperty可以避免将原型上的属性遍历出来 for(i in arr){ if(arr.hasOwnProperty(i)) //不会遍历出原型上的元素 }查看全部
-
继承完整实例查看全部
-
alert(x) var x=10 alert(x) x=20 function x(){} alert(x) if(true){ var a=1 }else{ var b=true } alert(a) alert(b)查看全部
-
函数声明过程函数与前面声明的函数或变量重名会覆盖之前声明的函数或变量 变量声明过程变量与前面声明的函数或变量重名会忽略之前声明的函数或变量,但初始化过程则会覆盖之前声明的函数或变量 VO变量对象 AO函数对象 函数表达式的声明不会影响AO 因此无法在函数外直接通过函数名访问函数表达式声明的函数查看全部
-
javascript可以用!或+或()放在function前,为函数表达式写法,防止function前置形成函数声明,函数声明后加()会报错查看全部
-
javascript没有块级作用域(for、while、if等括号中声明变量和括号外声明变量效果一样,在语句块外仍然可以访问)查看全部
-
bind方法模拟 有机会回来复习查看全部
-
访问方式的改变,影响this作用域的指向查看全部
-
严格模式下查看全部
-
Object.defineProperties{person,{ title:{value:'meme',enumerable:ture(可枚举)} }}定义属性标签 属性标签: writable: 是否可写 enumerable: 是否可以被枚举 configurable: 是否可以被设置 也表示属性是否可以被删除查看全部
举报
0/150
提交
取消