首页 技术 正文
技术 2022年11月16日
0 收藏 838 点赞 3,330 浏览 995 个字

恰巧今天是传统民间重要的节日之一——七夕节:

被大家挂在嘴上最多的一句话便是:有对象了吗?这不……

这样的话,那咱就先给new出一个对象吧:

var boyfriend = new Object();

然后再往其中增加属性,比如:他的名字叫Jay;

1.对象:①增加属性

boyfriend['name']='Jay';

②访问属性(两种方式:点操作符或者中括号操作符)

boyfriend.name;//"Jay"
boyfriend[name];//"Jay"

③删除属性:

delete操作符,但是:设置属性为 undefined 或者 null 并不能真正的删除属性, 而仅仅是移除了属性和值的关联。

var boyfriend = {
nose: 1,
hands: 2,
eyes:2
};
boyfriend.nose = undefined;
boyfriend.hands = null;
delete boyfriend.eyes;for(var i in boyfriend) {
if (boyfriend.hasOwnProperty(i)) {
console.log(i, '' + boyfriend[i]);
}
}
// nose undefined
// hands null

只有eyes属性被真正删除了;

④当检查对象上某个属性是否存在时,hasOwnProperty 是唯一可用的方法。 同时在使用for in loop遍历对象时,推荐总是使用 hasOwnProperty 方法, 这将会避免原型对象扩展带来的干扰。

⑤for in 循环

查找对象属性时遍历原型链上的所有属性;

Object.prototype.eyes = 2;var boyfriend = {hands:2};
for(var i in boyfriend ) {
console.log(i);
}
//输出两个属性:hands eyes

对象使用for-in循环,数组使用经典的for循环。

for in循环会枚举原型链上所有属性,唯一过滤这些属性的方式是使用 hasOwnProperty 函数, 因此会比普通的 for 循环慢上好多倍。

注意:虽然 length 是数组的一个属性,但是在每次循环中访问它还是有性能开销。故:实际上,不使用缓存数组长度的方式比缓存版本要慢很多。因此建议使用时缓存数组长度。

最后附上阅读链接:http://bonsaiden.github.io/JavaScript-Garden/zh/

还有这个(-_-祝愿大家开开心心的~)

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,946
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,472
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,285
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,101
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,733
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,768