JavaScript属性(第三天)
js语法非常灵活,这致使他非常好用,也造成它比较难掌握的地方;
js中的值类型与引用类型在这里不做过多介绍,可以参照其他语言。
js是可以动态添加属性的;
var person={};
person.name="张飞";
person["age"]=45;
上面的name与age属性都是动态添加出来的,本质上没有区别,只是两种方式而已;但这两种方式在,如果属性也是动态的,那只能用数组的方式进行添加;
例如:
var propertyName="name";
var person={};
person.propertyName="张飞";//这种方式是不正确的;
person[propertyName]="张飞";//必须使用这种方式进行动态添加属性;
当然,用法也是通用的;
person["name"]与person.name效果是一样的。
这种方式同样使用与方法;
var person={
speak:function(){
console.log("hello,world");
}
};
person.speak();与person["speak"]();等价;
对象身上的属性是可以进行遍历的,方法也是对象的属性;
for(var property in person){
//property遍历出来是person的属性名,这时就可以使用数组的方式进行动态访问属性了
if(typeof person[property] =="string")
person[property]="test";
if(typeof person[property] =="function")
person[property]();
}
JavaScript属性(第三天)的更多相关文章
- 函数原型属性-JavaScript深入浅出(三)
前两次总结了JavaScript中的基本数据类型(值类型<引用类型>,引用类型<复杂值>)以及他们在内存中的存储,对内存空间有了一个简单的了解,以及第二次总结了this深入浅出 ...
- javaScript高程第三版读书笔记
看完<dom编程艺术>现在准备读进阶版的js高程了,由于篇幅较长,所以利用刚看完<dom编程艺术>学到的知识写了段JavaScript代码,来折叠各章的内容.并且应用到了< ...
- 一些有用的javascript实例分析(三)
原文:一些有用的javascript实例分析(三) 10 输入两个数字,比较大小 window.onload = function () { var aInput = document.getElem ...
- Javascript多线程引擎(三)
Javascript多线程引擎(三) 完成对ECMAScript-262 3rd规范的阅读后, 列出了如下的限制条件 1. 去除正则表达式( 语法识别先不编写) 2. 去除对Function Decl ...
- JavaScript 属性类型(数据属性 访问器属性)
ECMA-2把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.” 严格来说,这就相当于说对象是一组没有特定顺序的值.对象的属性或方法都有一个名字,而每个名字映射到一个值.我们可以把E ...
- 原型那些事 - JavaScript深入浅出(三)
前两次总结了JavaScript中的基本数据类型(值类型<引用类型>,引用类型<复杂值>)以及他们在内存中的存储,对内存空间有了一个简单的了解,以及第二次总结了this深入浅出 ...
- JavaScript基础(三)
十三.JS中的面向对象 创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或对象字面量创建对象 ...
- Javascript 创建对象的三种方法及比较【转载+整理】
https://developer.mozilla.org/zh-CN/docs/JavaScript/Guide/Inheritance_and_the_prototype_chain 本文内容 引 ...
- 理解JavaScript继承(三)
理解JavaScript继承(三) 通过把父对象的属性,全部拷贝给子对象,也能实现继承. 7.浅拷贝 function extendCopy(p) { var o = {}; for (var pro ...
- JavaScript学习记录三
title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
随机推荐
- python基础之作业3----三级菜单小练习
data = { "华为技术":{ "产品与解决方案":{ "云核心网":{"云核心网研发管理部","云核心网 ...
- 考研计算机复试(广东工业大学C语言复试2014~2017笔试题)(精华题选)
1.C语言中,全局变量的存储类别是() A.extern B.void C.int D.static 2.静态变量: (1)static 外部变量===>在函数外定义,只能在本文件中使用 ( ...
- python入门(四)
今天主要记录下python中文件的编辑与函数. 一.修改文件 一)简单粗暴--直接修改 1.打开一个文件,获取到所有内容2.对内容进行修改3.清空原来的文件4.把新的内容写进去 f = open('u ...
- mmap共享内存深入总结
本文写于2017-03-11,从老账号迁移到本账号,原文地址:https://www.cnblogs.com/huangweiyang/p/6534877.html 概述 mmap()系统调用在调用进 ...
- chrome插件学习笔记
manifest.json { "name": "test1", "description": "test1", &qu ...
- python 全栈开发笔记 2
函数 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 函数式编程最重要的是增强代码的重用性和可读性 def xx() ...
- erlang并发编程
1.erlang中创建进程(非操作系统线程,比其要轻量很多)非常方便,运用spawn函数即可 spawn(Fun) -> pid() spawn(Node, Fun) -> pid() s ...
- Cowboy http服务器 websocket
一.基础介绍 cowboy是一个小巧.快速.模块化的http服务器,采用Erlang开发.其中良好的clean module使得我们可以扩展到多种网络协议之中,cowboy自带的有tcp和ssl,而也 ...
- 由于SVN导致桌面图标都带有?标记
在桌面创建一个记事本文件,然后吧这句话复制进去 for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.sv ...
- Java中java.util.concurrent包下的4中线程池代码示例
先来看下ThreadPool的类结构 其中红色框住的是常用的接口和类(图片来自:https://blog.csdn.net/panweiwei1994/article/details/78617117 ...