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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
事实上,JavaScript中,是可以用中文做变量名的。
比如,let 临时变量 = "中文符变量";
这条语句是可执行的
7,for prop in o,遍历对象中所有的可枚举属性
1, 通过o.x给o添加新属性时,属性的特性默认都为true,而通过Object.defineProperty(o, 'x')给o添加属性时,属性的特性默认都为false;
2,Object.defineProperty(),给对象添加属性;
3,Object.getOwnPropertyDescriptor(),取得对象的某个属性的特性对象;
4,o.hasOwnProperty(),判断属性是否为对象实例所有;
5,o.propertyIsEnumerable(),判断属性是否可枚举;
6,prop in o ,判断对象中是否有指定的属性
创建对象的10种方法:
1,var o = {x: 1}; 对象字面量
2,var o = new Object(); o.x = 1; 构造函数创建
3,var o = Object.create({x: 1}); 通过创建原型构建对象
一句“搞对象不是件容易的事情”,听完这句话我把键盘都砸掉了
严格模式下:
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 (为所欲为)
}
}
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);
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消