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
随机推荐
- Ubuntu 12.10 配置MyEclipes 10.7环境(加破解)
下周要在Ubuntu中调试程序,所以今天抽空先配置好Myeclipse环境. 准备: JDK 下载地址: http://www.oracle.com/technetwork/java/javase/ ...
- Droidicon – 1600+ 漂亮的 Android 图标
Droidicon 提供超过1600款定制图标,让你可以超级容易的把图标和徽章添加到您的应用程序中.你可以自定义你想要的各种形式的图标,给图标添加描边,透明度和颜色过滤器.包括这些 Google Ma ...
- 12款免费的响应式 WordPress 主题下载
响应式和现代设计风格的多用途 WordPress 主题能够非常灵活的适应所有设备.而高级主题能够更轻松定制,您可以从主题选项中禁用/启用响应模式.多用途的响应式设计的主题是最适合杂志网站,博客网站,想 ...
- cell重用的几种方式
1.使用xib重用 //ios6 之后推荐大家使用的重用方式 //动态的使用self获得当前类名,来作为唯一的标示 NSString * identifier = NSStringFromClass( ...
- Gradle用户指南(中文版)
http://rinvay.github.io/android/2015/03/26/Gradle-Plugin-User-Guide(Translation)/
- JavaScript学习02 基础语法
JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...
- Android九宫格界面实现点击每个格点击跳转界面
刚开始有个任务就是做一个九宫格界面,后来有个任务就是实现点击每个格并跳转界面实现每个格的功能.下面我就介绍一下我是如何实现该功能的 首先写一下我的想法是: 登录成功后显示一个九宫格界面,每个九宫格的每 ...
- OC中的内存管理
一. 基本原理 1. 什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间.比如回收一些不需 ...
- iOS 学习 - 14.本地联系人
苹果在iOS9的SDK中废除了AddressBookUI.framework的一些功能(是不是这个库都废除了,有待验证),具体和保存联系人相关的几个系统界面如下:联系人选择:AddressBookUI ...
- iOS事件响应链
首先,当发生事件响应时,必须知道由谁来响应事件.在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获 ...