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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
严格模式下:
1,不允许使用with语句;
2,不允许给未声明的变量赋值;
3,arguments,是与形参不同的变量副本;
4,delete不允许被删除的变量会报错,而不是返回false;
5,不允许重复的对象字面量属性名;
6,不允许八进制的字面量;
7,eval, arguments成为关键词,不允许用来作为变量名和函数名;
8,eval()会单独创建一个作用域,并在eval()返回时丢弃;
//枚举对象自身的非函数属性(不包括原型链中的属性)
for(var k in o){
if(o.hasOwnProperty(k)) && typeof k !== 'function'){
//do whatever you want to do (为所欲为)
}
}

已采纳回答 / qq_順萁洎嘫_0
可以正常执行输出,仔细查一下你的代码是否有错误
try{
//throw a Exception
}catch(e){
//catch the Exception and process it
}finally{
//do something to end
}
javascript中没有块级作用域,这一点与C/C++/Java等语言不同,要注意。
s.hasOwnProperty('name'); //true
s.hasOwnProperty('major'); //false
s.__proto__.hasOwnProperty('major'); //true
Student.hasOwnProperty('name'); //true
Student.hasOwnProperty('major'); //false
Student.prototype.hasOwnProperty('major'); //true
function Person(){this.name = 'Bosn'; }
function Student(){this.major ='IT';}
Student.prototype = new Person();
Student.prototype.constructor = Student;
var s = new Student();
var a = {};
Object.defineProperty(a, 'x', {value: 1});
通过Object.defineProperty()为对象添加属性时,属性默认是不可删除、不可改写、不可枚举的。
可以通过Object.getOwnPropertyDescriptor(a, 'x')来查看。
var val = true ? 1 : 2;
这个是什么意思啊?我研究了一个月都没搞明白。
for(var i = 0; i < temp1.length; i++){
for(var j = 0; j < tem2.length; j++){
if(getType(temp1[i]) === getType(temp2[j])){
temp1.splice(i--, 1); temp2.splice(j--, 1);
}
}
}
if(temp1.length == 0 && tem2.length == 0){
return true;
}else{
return false;
}
}
function arraySimilar(arr1, arr2){
if(arr1.length != arr2.length) return false;
temp1 = [].concat(arr1); temp2 = [].concat(arr2);
function getType(e){
if(typeof e !== 'object') return typeof e;
if(e instanceof 'Array') return 'array';
if(e instanceof 'Date') return 'date';
if(e instanceof 'window') return 'window';
if(e instanceof 'RegExp') return 'regexp';
return 'otherType';
}
这一节听了不到3分钟,睡着了。先去百度看看闭包的其他资料,再来看这一节。
duck type '刘德华' == false;
duck type '鹿晗' == true;
duck type '吴亦凡' == true;
NaN == NaN; //false
new Object() == new Object(); //false
{} == {}; //false
"我爱言承旭" == true; //true
javaScript一共有六种数据类型:
1、五种基本类型:
boolean, number, string, undefined, null;
2、一种复合类型--对象:
Object
注:其他复合类型都继承自Object类型,如Array, Date, RegExp, Function, etc;
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消