为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 类型检测小结
    查看全部
  • 1.函数声明:function 函数名() 2.函数表达式:var a=function(){};
    查看全部
  • 数组方法: 1.Array.prototype.forEach//数组迭代/遍历 var arr = [3,4,3,2,1]; arr.forEach(console.log);//会遍历出5组值 每组内容:索引/值/arr[] 2.arr.map(function(){//do sth});返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组 3.arr.filter(function(){//do sth});数组过滤,并返回一个符合要求的数组,原数组不变 4.arr.every(function(){});数组判断,当数组所有元素都满足条件就返回ture,否则返回false; arr.some(function(){});数组判断,当数组中只要有一个元素都满足条件就返回ture,否则返回false; 5.arr.reduce(function(){});(从左到右)两两比较或相加,最终返回一个值, reduceRight()相反(从右到左) 6.查找数组值的索引,val:需要查找索引的值,x:位置(索引)正左负右 arr.indexOf(val,x);从左到右 arr.lastIndexOf(val,x);从右到左 7.Array.isArray(arr);判断是否为数组
    查看全部
  • 函数的调用方式
    查看全部
  • 函数声明和表达式
    查看全部
  • 数组方法: 1.arr.join("_");将数组转为字符串,添加元素将的分割符; 2.arr.reverse();将数组逆序; 3.arr.sort();//排序(以首字符排序) arr = [3,1,89,33] arr.sort(function(a,b){ return a-b; })//[1,3,33,89] 4.arr.concat();//数字拼接 arr = [1,2,3] arr.concat(4,3);//[1,2,3,4,3] arr;//[1,2,3]数字本身并没有变,变的是concat()返回值 5.arr.slice();//返回数字的一部分,数组本身不会变 var arr = [1,2,3,4,5]; arr.slice(1,3);//[2,3]参数为索引值,当为一个参数,返回此参数到最后的值;当为两个参数,返回两个参数之间的值(前取后舍);当参数为负数是就从末尾开始计算; 6.arr.splice(index,num, item1,...,itemn);返回要删除的值,并改变数组;index索引,可为负值;num要删除的个数;item删除后要添加的值;
    查看全部
  • 类型检测 1.typeof obj:适合基本类型及function检测,遇到null失效 2.obj instanceof obj:返回true或false;适合自定义对象,也可以用来检测原生对象,在不同的window和iframe间检测失效 3.obj.prototype.tostring 4.constructor 5.duck type
    查看全部
  • 数组元素的增删: 添加元素的方法: 1.arr.push("apple");添加到数组尾部 2.arr[arr.length] = "orange";添加到数组尾部 3.arr.unshift(0);添加到数组前面 删除元素的方法: 1.delete arr[1];删除指定元素(按下表) 2.arr.length -= 1;//删除最后一个元素 3.arr.pop();//删除最后一个元素 4.arr.shift();//删除第一个元素
    查看全部
  • JS
    查看全部
  • 对象标签 1.原型标签:prototype 2,class标签 3.extensible标签:对象是否可扩展(对象属性是否可继续添加) Object.isExtensible(obj);判断obj对象是否可扩展 Object.preventExtensions(obj); 设置obj对象不可扩展 Object.seal(obj);在设置preventExtensions的基础上,设置seal,使对象上所以属性configurable为false; Object.isSealed(obj);判断是否设置成功 Object.freeze(obj);在设置preventExtensions的基础上,设置freeze冻结对象属性,使对象上所以属性configurable为false;writable为false Object.isFrozen(obj);判断是否设置成功 序列化 var obj = {x:1,y:2,z:{a:3,b:4},k:"str"}; JSON.stringify(obj);//{"x":1,"y":2,"z":{"a":3,"b":4},"k":"str"} JSON数据转换为对象 var a = JSON.parse('{"x":666}'); a.x;//666 其他对象方法 obj.toString(); obj.valueOf();
    查看全部
  • 相关学习资源
    查看全部
  • 属性标签
    查看全部
  • get/set与原型链 当原型链上的属性是有get、set设置的就无法被修改,只有同过defineProperty()修改 同理: var o = {} Object.defineProperty(o,"x",{value:1});//writable:false,configurable:false var obj = Object.create(o); obj.x;//1 x 同样是不能被修改可通过Object.defineProperty(obj,"x",{writable:true,configurable:true,value:10});设置可写,可设置
    查看全部
  • 属性getter/setter方法
    查看全部
  • block
    查看全部

举报

0/150
提交
取消
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!