Javascript的简单数据类型包括: 数字,字符串,true/false,null 和undefined。 其他所有值都是对象. 数组是对象,方法也是对象。属性值是除开undefined值以外的任何值。JavaScript的属性是可以变的。和C#的dynamic差不多,动态类.

一. 对象声明以及初始化.

Notes:  1.属性包含"-"和" "时候需要加上引号,对于"_"不需要加引号

var stooge={
"first Name":"Frank",
"last Name":"Zhang"
}var person ={
name:"Frank",
Age:,
}

二.检索. 

Notes: 1.  在检索对象的值可以通过[]和. 来获取.

2. 如果在赋值的时候,该属性不存在。那么会自动创建该属性并赋值.

3.  检索中如果.propertyName不存在将输出undefine;

4.  获取undefine, null 数据的.PropertyName 将会报错, 如果数据是非undefine和非null的将不会报错.即使是赋值的数字.

    console.log(person.name);

    stooge["middle Name"]="C"; //属性不存在,重新创建该属性
console.log("My full name is "+stooge["first Name"]+"."+stooge["middle Name"]+"."+stooge["last Name"]); //Frank.C.Zhang

console.log(person.vip); //不报错,输出undefine
try{
console.log("test"+person.Vip.Msg); // .vip未声明,然后获取.msg对象就会报错
}catch(ex){
console.log(ex.message); // 输出Cannot read property 'Msg' of undefined
} person.Vip = null;
try{
console.log("test"+person.Vip.Msg); // .vip未声明,然后获取.msg对象就会报错
}catch(ex){
console.log(ex.message); // 输出Cannot read property 'Msg' of null
} person.Vip = 1;
try{
console.log(person.Vip.Msg); // 输出undefine
}catch(ex){
console.log(ex.message);
}

三. 反射

     console.log(person.hasOwnProperty("name")); //true
console.log(typeof(person.Age)); //number
console.log(typeof(person.toString)); //function

  四.遍历

Notes: 1.遍历对象的时候,name是对应的属性名称.而不是属性值;

2. 获取属性值还是要通过[]和.获取;

for(var name in stooge){
console.log(name);
console.log(typeof(name)); console.log(stooge[name]);
console.log(typeof(stooge[name]));
}

五.删除.

Notes: 1.删除属性通过delete obj.propertyName删除.

六. 局部类

Notes: 前面的类我们都是用的全局变量,全局变量用的过多会降低程序的灵活性, 以及开发中会遇到命名重复的问题. 在C#中有命名空间,在Java中也有package,其实在JavaScript我们可以通过命名一个对象。然后将自己特定的数据封装到对象中。来达到隔离效果。

var MyNamespace ={};
MyNamespace.person ={
name:"Frank",
Age:23
} console.log(MyNamespace.person.name);

Javascript笔记--Objects的更多相关文章

  1. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  2. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

  3. [Effective JavaScript 笔记]第3章:使用函数--个人总结

    前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...

  4. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

    函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...

  5. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  6. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  7. 【原】javascript笔记之Array方法forEach&amp;map&amp;filter&amp;some&amp;every&amp;reduce&amp;reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  8. JavaScript笔记目录

    JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待

  9. 蛋糕仙人的javascript笔记

    蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html

随机推荐

  1. excel链接sharepoint 用于 Excel 的 Microsoft Power Query

    https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=39379

  2. java 中与 或 非 异或 和位移运算

    与(&) 或(|) 异或(^) 和位移(>>,<<) 通常和符号位无关 .. 但是非比较特殊,与符号位有关,所以计算的时候要考虑符号位 先扩展为32字符,前16位为符号 ...

  3. JS 事件与事件对象小结

    JavaScript与HTML之间的交互是通过事件来实现的.IE9,chrome,Firefox,Opera,Safari均实现了DOM2级规范中定义的标准DOM事件,而IE8和IE8以下版本仍然保留 ...

  4. (翻译)什么是Java的永久代(PermGen)内存泄漏

    http://www.codelast.com/?p=7248 转载请注明出处:http://www.codelast.com/ 本文是我对这篇文章的翻译:What is a PermGen leak ...

  5. Oracle 经常使用命令小结

    1.当前数据库中查看建表语句 select dbms_metadata.get_ddl('TABLE','表名') from dual; 2.当前数据库中查看视图创建Sql select text f ...

  6. nginx install lua module

    #install luajit #http://luajit.org/download.html .tar.gz cd LuaJIT- make install PREFIX=/home/allen. ...

  7. python拟合数据,并通过拟合的曲线去预测新值的方法

    from scipy import interpolate import matplotlib.pyplot as plt import numpy as np def f(x): x_points ...

  8. Pycharm:设置Tab键一次性为4个空格

    File > Settings > Editor > Code Style > Python

  9. 一个简易的drf的项目例子

    luffy_city 1.项目介绍 今日内容:(路飞项目) contentType组件: 路飞学成项目,有课程,学位课(不同的课程字段不一样),价格策略 问题, 如何设计表结构,来表示这种规则 为专题 ...

  10. 滚动条事件,当页面滚动到距顶部一定高度时某DIV自动隐藏和显示

    $(function () {                        //绑定滚动条事件              //绑定滚动条事件            $(window).bind(&q ...