惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
博客园 - 三生石上(FineUI控件)
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
C
Cybersecurity and Infrastructure Security Agency CISA
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
U
Unit 42
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
H
Help Net Security
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
L
LINUX DO - 热门话题
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Heimdal Security Blog
博客园 - 聂微东
S
Securelist
大猫的无限游戏
大猫的无限游戏
Cloudbric
Cloudbric
Cisco Talos Blog
Cisco Talos Blog

博客园 - 墨尘

xmlhttp的OnReadyStateChange事件 简单的mysql热备 技术之路也要懂得理财-------林左鸣:建设军工强国的5条锦囊妙计 magento迁移后后台无法登录解决方法 Android实用工具Hierarchy Viewer实战 SEO如何做有效的外链 加勒比海盗主题曲 小提琴版 apache 编译 rewrite 模块 linux 下php扩展模块的单独编译 转帖:linux 下注册apache开机自启动 混迹于威客 SQL 2005数据类型说明 转帖:PL/SQL 格式化指南 (PL/SQL Formatting Guide) 简述在Access中使用“存储过程” 趋势投资十种有效工具 关于临界点类型算数问题的分析 逻辑推理 应该在别人恐惧时贪婪吗? 404错误!
javascript中的对象 - 墨尘 - 博客园
墨尘 · 2011-02-07 · via 博客园 - 墨尘

转帖http://www.cnblogs.com/wangwei123/archive/2010/05/12/1733084.html

javascript中的对象创建声明:var obj = {}; 或者 var obj = new Object(); 

    为对象加入属性,方法:

//=====第一种写法====================================

    obj.name 

= '小明';    //为对象加属性

    obj.updateName 
= function(name){//为对象定义updateName方法
        this.name = name;
    }

    alert(obj.name);

    obj.updateName(

"小强");    //调用updateName修改obj对象的name属性值 

    alert(obj[
'name']);

    第一次显示结果为:小明

    第二次显示结果为:小强

//=====第二种写法====================================

    obj[
'name'= '张三';     //为对象加属性
    obj['updateName'= function(name){//为对象定义updateName方法
        obj['name'=name;
    }; 

    alert(obj.name);

    obj.updateName(

'李四');    //调用updateName修改obj对象的name属性值 

    alert(obj[
'name']);

    第一次显示结果为:张三

    第二次显示结果为:李四

//=====第三种写法====================================

    
var obj = {
        name:  
'王五',    //为对象加属性
        updateName: function(name){//为对象定义updateName方法
            this.name = name;      
        }
    };

    alert(obj .name);

    obj.updateName(

"赵六");    //调用updateName修改obj对象的name属性值

    alert(obj .name);

    第一次显示结果为:王五

    第二次显示结果为:赵六

//=====分析=====================================

    第一种写法是最普通的对象写法,因为javascript是动态语言,与Java和.Net不同,

    在程序运行并创建对象后,还可以对该对象的内部结构进行修改,

    比如添加属性和方法(java和.net中的反射机制做不到这点)。

    (a): 

var obj = {} || new Object();

    (b):obj.name 

= "张三";

    (c):obj.updateName 

= function(name){ this.name = name};

    当程序执行(a) 后,便创建了一个空对象(不包含任何方法和属性)obj,

    当程序执行(b) 后,改变了obj的内部结构,加了一个属性name,

    当程序执行(c) 后,改变了obj的内部结构,加了一个方法updateName ,

    而这都是在运行的时候完成的动作

    第二种写法像数组,但绝不是数组,区分是不是数组可以如此判断:

if(typeof(obj.length) == "undefined") {
        alert(
"obj不是数组,数组都有length属性!");
    }
else{
        alert(
"obj是数组!");
    }

    第二种写法更像一种数据结构:map ,如:obj[key] 

= value;

    key是字符串,value可以是任何类型,变量,对象,函数等。

    可以通过这种方式遍历对象内部结构:

for(var key in obj)
    {
        alert(key);
var value = obj[key];

        alert(value);
    }

    通过alert可以显示出你所定义的内容。

    第三种写法一看就是map的内部结构了,一个对象,内部完全用key : value键值对方式表示

    JSON对象也是这种结构,只要对map或者JSON对象有所熟悉的就很容易理解了。