Javascript笔记--Objects
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的更多相关文章
- [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象
js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...
- [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符
“1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...
- [Effective JavaScript 笔记]第3章:使用函数--个人总结
前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...
- [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法
js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight
做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...
- JavaScript笔记目录
JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待
- 蛋糕仙人的javascript笔记
蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html
随机推荐
- 用T4 Template生成代码
1 T4语法 T4的语法与ASP.NET的方式比较类似.主要包括指令.文本块.控制块. 1.1 指令 指令主要包括template, output, assembly, import, incl ...
- bootstrap字体图标在谷歌显示正常,在火狐显示异常的问题
bootstrap字体图标的使用 现在有很多的网站支持字体图标,我所知道的有bootstrap,fontawesome,iconmoon,等等,可能还有其他我并不知道 bootstrap只要你的文件夹 ...
- 【再探backbone 02】集合-Collection
前言 昨天我们一起学习了backbone的model,我个人对backbone的熟悉程度提高了,但是也发现一个严重的问题!!! 我平时压根没有用到model这块的东西,事实上我只用到了view,所以昨 ...
- Canvas drawText实现中英文居中
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint mTextPaint = new Paint( ...
- 【代码笔记】iOS-伸缩式动画
一,效果图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...
- 【代码笔记】iOS-多张图片合成一张
代码: RootViewController.m #import "RootViewController.h" @interface RootViewController () @ ...
- 【代码笔记】iOS-淡出淡入效果
一,效果图. 二,工程图. 三,代码. ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIVie ...
- sublime mac osx 命令行打开
sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl 参考地址:htt ...
- HTML5设计网页熔岩灯导航(navigation bar)插件 已经加上完整源代码
导航栏(navigation bar): 1.指位于页眉区域的,在页眉横幅图片上边或下边的一排水平导航按钮,它起着链接博客的各个页面的作用. 2.网页设计中不可缺少的部分,它是指通过一定的技术手段,为 ...
- Atitit.论图片类型 垃圾文件的识别与清理 流程与设计原则 与api概要设计 v2 pbj
Atitit.论图片类型 垃圾文件的识别与清理 流程与设计原则 与api概要设计 v2 pbj 1. 俩个问题::识别垃圾文件与清理策略1 2. 如何识别垃圾图片1 2.1. 体积过小文件<1 ...