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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 乘法口诀表 for(var i=1;i<10;i++){ for(var j=1;j<=i;j++){ document.write(j+'x'+i+"="+i*j+" "); } document.write("<br>"); } 二维数组的遍历 var arrayStr=[[1,2,3],[4,5,6],[7,8,9]]; for(var i=0;i<arrayStr.length;i++){ for(var j=0;j<arrayStr[i].length;j++){ console.log("第"+i+"行 第"+j+"列 的值为:"+arrayStr[i][j]); } }
    查看全部
  • 数组迭代
    查看全部
  • arr.push()方法:数组尾部加一个元素 arr.unshift()方法:数组头部加一个元素 arr.pop()方法:数组尾部减一个元素 arr.shift()方法:数组头部减一个元素 delete arr[0]; arr[0];//undefined删除的元素只能把元素变成undefined,数组的长度不会改变
    查看全部
  • 对象构造: 除了本身被赋予的值之外,对象还有几个隐藏标签: proto:对象的对象属性prototype上的赋值 class:对象的种类 extensible:是否允许该对象继续增加新的属性 另外对象的值(如 x=1),也有对应的属性或方法,提供一些访问权限的控制 writable:是否可写 enumerable:是否能被删除 configurable:是否能够枚举 value:值 get/set:
    查看全部
  • !function(){'use strict';var obj = {x:1,x:2};}();//true 取反是优先级非常高的运算符。当浏览器扫描到"!"后,会去运算之后的语句,从而达到函数自执行的效果,等同于:(function(){console.log(1);}());这样的自执行函数写法。 而函数是一定有返回值的,只是没有去获取他。若函数里没有写return,就会默认返回一个值:undefined,那么!function(){'use strict';var obj = {x:1,x:2};}(); 就是 !undefined 了,也就是true。 'use strict';指令并不一定要在第一行出现的,之前也可以有其它指令(字符串),但是不允许有其它语句,如变量声明、赋值等。 上面的use strict前面有abc,仍将进入严格模式,下面的不会进入严格模式。 !function() { 'abc'; 'use strict'; console.log(this === undefined ? "strict" : "not strict");strict }(); !function() { var a; 'use strict'; console.log(this === undefined ? "strict" : "not strict");//not strict }();
    查看全部
  • delete不可配置的属性报错
    查看全部
  • delete参数、函数名报错
    查看全部
  • arguments变为参数的静态副本
    查看全部
  • 不允许未声明的变量被赋值
    查看全部
  • 函数比较
    查看全部
  • throw ex 抛出异常,外部的catch再处理。
    查看全部
  • 异常在内部被处理,外面的catch不会再处理
    查看全部
  • 结构嵌套,内部异常没有catch处理,会抛给外部的catch处理,但是要先执行内部的finally语句
    查看全部
  • 直接写在{}块语句里的的变量在外面也可以访问;if 语句, for语句{}里的变量也可以被全局访问;但是函数里的变量无法被外部读取到; 有全局作用域,函数作用域(ps.还有value作用域),但是没有块级作用域 js的变量提升机制,在for if 等块语句里面的变量会提升到上一级,但是function里面不会提升到外面去,会提升到代码首部。而且开始时是undefined。
    查看全部
  • 1. , var val = (1, 2, 3);// val =3; "," 运算符,值为最右边的 2.delete var obj = { x:1 }; obj.x; // 1 delete obj.x; // 删除obj的x属性 obj.x;// undefined //IE9++ var obj = {}; Ojbect.definProperty(obj,'x',{ configurable: false, // 要为 true 才可以 delete value: 1 }); delete obj.x; // false obj.x; // 1 3.in window.x = 1; 'x' in window;// true 判断是否存在这个属性 4.instanceof,typeof {} instanceof Object // true 判断对象的类型基于原型链去判断的 typeof 100 === 'number'// true 判断是不是原始类型或者是函数对象 5.new function Foo(){} Foo.prototype.x = 1; var obj = new Foo(); obj.x;// 1 obj.hasOwnProperty('x'); // false 判断属性是属于自身还是属于对象的原型链上 obj._proto_.hasOwnProperty('x'); // true 属于对象的原型上的属性 6.this this; // 全局环境下指向浏览器的window var obj = { func: function(){return this;} // this --> 当前对象 }; obj.func(); // obj 7.void void 0 // undefined void(0) // undefined
    查看全部

举报

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

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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