Javascript对象的技巧和陷阱
创建对象的3种方法
方法1
直接创建
var obj = {
            name: "mike",
            age: 10
        }
方法2
用new创建
var ob = new Date();
方法3
ECMAScript5有个新的方法 Object.create()
事实上这种方法就是继承某一个对象
var obj = {
            name: "mike",
            age: 10
        };
        var newobj = Object.create(obj);
        console.log(newobj.name);
一些技巧和陷阱
1
var a = {
            name: "mike",
            name: "john"
        }
        console.log(a["name"]);
不小心的把属性名写成一样 结果是john也就是说当遇到属性名一样的情况下. 依照最后一个出现的算, 注意当開始use strict的时候会报错
2
var a = {};
        a.x = 1;
        var p = Object.create(a);
        p.y = 2;
        console.log(p.x);
当你訪问对象的属性没有时候,他会沿着原型链继续向上找,
3
var a = {};
        a.x = 1;
        var p = Object.create(a);
        p.y = 2;
        console.log("x" in p); //true
一个对象里有没有这个属性 这个属性假设是继承来的也算是有
4
var a = {};
        a.x = 1;
        var p = Object.create(a);
        p.y = 2;
        console.log("x" in p); //true
        console.log(p.hasOwnProperty("x")); //false
检查自有属性
5
var a = {
            x:1,
            get getx() {return this.x;},
            set setx(arg) {
                return this.x = arg;
            }
        }
        console.log(a.x);
        a.x = 100;
        console.log(a.x);
属性能够设置仅仅读仅仅写, 读/s写
6
var a = {
            x:1,
            get getx() {return this.x;},
            set setx(arg) {
                return this.x = arg;
            }
        }
        Object.freeze(a);
        a.x = 100;
        console.log(a.x); //1
冻结一个对象 用来保证对象的封闭性不被破坏
Javascript对象的技巧和陷阱的更多相关文章
- js 技巧 (六)JavaScript[对象.属性]集锦
		
JavaScript[对象.属性]集锦 SCRIPT 标记 用于包含javascript代码. 语法 属性 LANGUAGE 定义脚本语言 SRC 定义一个URL用以指定以.JS结尾的文件 windo ...
 - 12个实用的 Javascript 奇淫技巧
		
这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的 ...
 - JavaScript学习总结-技巧、有用函数、简洁方法、编程细节
		
整理JavaScript方面的一些技巧.比較有用的函数,常见功能实现方法,仅作參考 变量转换 //edit http://www.lai18.com var myVar = "3.14159 ...
 - javascript 对象(四)
		
一.对象概述 对象中包含一系列的属性,这些属性是无序的.每个属性都有一个字符串key和对应的value. var obj={x:1,y:2}; obj.x; obj.y; 1.为什么属性的key必须是 ...
 - javascript——对象的概念——函数 2 (内建函数与类型转换)
		
javascript 有许多内建函数,用于各种操作,以下为常用的内建方法. 1.parseInt(object,int):将输入的 int 进制的值 object 转换为 10 进制的数值: obje ...
 - 初学者学习JavaScript的实用技巧!
		
Javascript是一种高级编程语言,通过解释执行.它是一门动态类型,面向对象(基于原型)的直译语言.它已经由欧洲电脑制造商协会通过ECMAScript实现语言标准化,它被世界上的绝大多数网站所使用 ...
 - json与JavaScript对象互换
		
1,json字符串转化为JavaScript对象: 方法:JSON.parse(string) eg:var account = '{"name":"jaytan&quo ...
 - javaScript对象-基本包装类型的详解
		
本人按书上的内容大致地把javaScript对象划分成“引用类型”.“基本包装类型”和“内置对象”三块内容. 我们这篇先了解下基本包装类型的详细用法吧! 一.我们先解下相关概念: 1.引用类型的值(对 ...
 - 如何理解javaScript对象?
		
在我们生活中,常常会提到对象一词,如:你找到对象了吗?你的对象是谁呀?等等. 在我们家庭中,有男友的女青年都会说我有对象了,那么她的对象是XX(她的男友). 夫妻间呢?都会说我的爱人是谁谁谁,现在我们 ...
 
随机推荐
- Centos 6.5升级openssh到7.5p1版本
			
centos6自带的ssh版本较低,存在高危漏洞,目前部分服务器需要升级到最新版本(目前是7.5p1). 注:升级ssh存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好有远程 ...
 - 【总集】C++ STL类库 vector 使用方法
			
介绍: 1.vector 的中文名为向量,可以理解为一个序列容器,里面存放的是相同的数据结构类型,类似于数组但与数组又有微妙的不同. 2.vector 采用的是连续动态的空间来存储数据,它是动态的数组 ...
 - [uiautomator篇][11]wifi
			
package com.softwinner.network.wifi; import android.content.Context; import android.content.Intent; ...
 - ER模型图工具:PowerDesigner
			
导读:开始是想一个阶段一个阶段的写文档,再写了可行性分析报告之后,发现这种方法整体性不强,写出来的文档也总是有考虑不周的地方.后来,就看完了全部的软工视频再写.现在该写项目开发总结报告了.在写文档的过 ...
 - BZOJ 2298: [HAOI2011]problem a【动态规划】
			
Description 一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相同的分数) Input 第一行一个整数n,接下来n行每行两个 ...
 - Bzoj1083 1083: [SCOI2005]繁忙的都市【MST】
			
大水题,真不知道出题者是怎么把这么水的题出的这么长的TAT 其实这题在于考语文水平,一共三个要求,前两个要求意思就是要选出的道路是树形的,最后一个要求就是要权值最小,于是整个题意说白了就是求一棵MST ...
 - 【树状数组区间修改区间求和】codevs 1082 线段树练习 3
			
http://codevs.cn/problem/1082/ [AC] #include<bits/stdc++.h> using namespace std; typedef long ...
 - You need to install the perl-doc package to use this program
			
You need to install the perl-doc package to use this program 解决方案:apt-get install perl-doc
 - iOS APP 架构漫谈[转]
			
Mark 一下 很不错的文章 最近看了一些有关server的东西,一些很简单的东西,不外乎是一些文档规范,另外结合最近看的wwdc的一些video,觉得对软件架构(software arch ...
 - 从Activity的启动流程理解Binder
			
简述 关于Activity启动流程和Binder的文章很多,大多数是分开来讲的,本文将二者结合起来,着重分析启动流程中跨进程方面的细节,其实,启动流程看似调用繁多,主要是复杂在Activity栈管理等 ...