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 ...
随机推荐
- Spring _day02_IoC注解开发入门
1.Spring IoC注解开发入门 1.1 注解开发案例: 创建项目所需要的jar,四个基本的包(beans core context expression ),以及两个日志记录的包,还要AOP的包 ...
- “幕后英雄”之Backing Fields【Microsoft Entity Framework Core随笔】
刘德华 有一首歌叫<马桶>,其中有一句歌词是:每一个马桶都是英雄. EFCore也有一个英雄,在幕后默默地任劳任怨.它就叫 "支持字段" (Backing Fields ...
- while循环与 for循环,函数定义与调用
import turtle turtle.setup(600,400,0,0) turtle.bgcolor('red') turtle.color('yellow') turtle.fillcolo ...
- java xml 转 json
<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> ...
- python基础学习之文件操作&函数
1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...
- 1023. Have Fun with Numbers (20)
生词以及在文中意思 duplication 重复 permutation 排列 property 属性 import java.util.Scanner; public class Main { pu ...
- vue 控制视图
<!--第一种:点击改变容器的值--> <li> <a href="javascript:void(0)" @click="state.bo ...
- 【Linux】【Kernel】一个简单的内核模块例子
1.本地主机的参数 zhangjun@zhangjun-virtual-machine:~$ uname -a Linux zhangjun-virtual-machine 4.4.0-31-gene ...
- lvm语法
RAID: Redundant Arrays of Inexpensive Disks Independent Berkeley: ...
- mysql数据库的备份
有时会遇到需要重装虚拟机的情况,这时候之前创建好的数据库就需要备份啦,等重新装好虚拟机直接导入就可以正常使用. 数据库备份大体分为两步: 第一步.导出数据库,因为是备份,会将所有的数据库导出,因此需要 ...