JavaScript 对象(二)
来源:互联网 发布:yum 卡死 编辑:程序博客网 时间:2024/05/17 00:55
一:对象的增、删、改、查
1、增: 所谓增添一个对象的属性,就是直接对该属性进行赋值操作即可,这就相当于为该对象添加了一个新属性,而打印未添加的属性,浏览器不会报错,而是会打印出undefined
var obj = {}; console.log(obj.name); //undefined (不会报错) obj.name = '软件开发'; console.log(obj.name); // 软件开发
2、删:我们通过delete操作符来删除一个对象的属性
var obj = { name : 'lyl' }; console.log(obj.name); //lyl delete obj.name; console.log(obj.name); //undefined
3、改: 修改一个对象的属性是最简单的了,直接通过赋值操作赋予其其他的值即可
var obj = { name: 'lyl' }; console.log(obj.name); // lyl obj.name = 'obj'; console.log(obj.name); // obj
4、查:查询一个对象的属性值有两种方法
var obj = { name: 'lyl' }; // 第一种方法 console.log(obj['name']); //lyl // 第二种方法 console.log(obj.name); // lyl //p.s.最本质的是第一种方法,因为在使用第二种方法时,后台自动将其转换为第一种字符串的形式来查询
p.s.以上的增、删、改三种操作都只是针对当前对象的属性进行操作,而不会影响到当前对象的原型的属性。
而查询是先看看当前对象本身是否设置了该属性,如果当前对象未设置该属性,则再看该对象的原型中是否设置了该属性,若两者都没有,则返回undefined
二:包装类:
1、五个原始值:number, string , boolean, undefined, null
其中number, string, boolean是分别拥有自己的包装类,而undefined和null是没有自己的包装类的
2.原始值不是对象,无法拥有自己的属性,但因为的包装类的存在,原始值就好似可以拥有自己的属性了,但其拥有的属性又有点特殊之处,如下用string来举例:
先看一段code
// str是string类型的,非对象,不能拥有属性,为什么能打印出str.length? var str = 'abcd'; console.log(str.length); //4
上边code中问题的解释:
// 因为每次执行完一条完整js语句后该类型对象的包装类就会将该语句包装,所以也就不会导致报错了,这些都是后台自己写的 var str = 'abcd'; // var str1 = new String('abcd'); console.log(str.length); //4 // var str1 = new String('abcd'); // console.log(str1.length);
注意:每次包装类包装完一次完整语句后就会被销毁。(即解释一条语句,用包装类包装一次,然后销毁),这回导致其和正常对象的一些不同之处,如下例子
var str = 'abcd'; str.len = 4; console.log(str.len); // undefiend //???
关键在于‘销毁’一词上,解释如下:
var str = 'abcd'; // var str1 = new String('abcd'); // 销毁 str.len = 4; // var str1 = new String('abcd'); // str1.len = 4; // 销毁 console.log(str.len); // undefiend // var str1 = new String('abcd'); // console.log(str.len); str1为刚创建的对象,其len属性自然为undefiend // 销毁
一个易错的坑:
// 总之记得'原始值包装类''销毁'这两句话就行 var str = 'abcd'; str.lenth = 2; console.log(str); // ab or abcd ? answer is abcd console.log(str.length); // 2 or 4 ? answer is 4
阅读全文
0 0
- Javascript对象(二)
- javascript对象(二)
- JavaScript对象(二)
- JavaScript 对象(二)
- Javascript内部对象(二)
- JavaScript(二)-- 面向对象
- JavaScript对象(二)之Array对象
- JavaScript(二、对象的知识)
- JavaScript 字符串(String)对象(二十四)
- JavaScript RegExp 对象(二十九)
- javascript面向对象编程(二)
- Javascript面向对象编程(二):继承
- JavaScript 面向对象编程 (二)
- Javascript面向对象编程(二):继承
- Javascript面向对象编程(二)
- javascript笔记二(window对象)
- javascript面向对象编程(二)
- JavaScript学习笔记(二)JS对象
- 机器学习之训练集_验证集_测试集
- 网狐荣耀版进入手机客户端显示“获取服务器列表失败,是否重试?”怎么处理?
- AttributeError: 'dict' object has no attribute 'iteritems'
- 定时任务的时间格式配置
- IO(输入输出)-字节流
- JavaScript 对象(二)
- stmdb与ldmia
- 三、回文数的猜想
- HDOJ 2164 Rock, Paper, or Scissors?(水题)
- 改写二分搜索算法
- FreeMarker
- 热更新学习笔记(三)
- ArcGIS API For JavaScript本地部署
- python-yq-(占位符,list,tuple,条件,循环,dict,set)