javaScript对象那些事儿(1)
来源:互联网 发布:查淘宝数据有哪些插件 编辑:程序博客网 时间:2024/05/22 12:21
从数组到对象
修改属性和方法
var hero = {};//创建一个空对象hero.breed = 'turtle';//添加一些属性和方法hero.name = 'Mrli';hero.sayName = function(){ return hero.name;}hero.sayName();//调用该方法delete hero.name;//删除一个属性
使用this值
当我们处于某个对象方法内部时,还可以用另一种方法来访问同一对象属性,即该对象的特殊值this。
var hero = function(){ name:'Mrli', sayName:function(){ return this.name; }}hero.sayName();
构造函数
可用构造函数的方式来创建对象。下面看一个例子:
function Hero(){ this.occupation = 'Ninja';}var hero = new Hero();hero.occupation;
使用构造函数的好处在于,他可以创建对象时接收一些参数。下面,我们就来修改一下上面的构造函数,是它可以通过接受参数的方式来设定name属性:
function Hero(name){ this.name = name; this.occupation = 'Ninja'; this.whoAreYou = function(){ return "I’m "+this.name+" and i'm a "+this.occupation; }}var h1 = new Hero('Jack');var h2 = new Hero('Lucy');h1.whoAreYou();h2.whoAreYou();
instanceof操作符
通过instanceof操作符,我可以测试一个对象是不是由某个指定的构造函数所创建的。例如:
function Hero(){}var h = new Hero();var o = {};h instanceof Hero;//trueh instanceof Object;//trueo instanceof Object;//true
传递对象
当我们拷贝某个对象或者将它传递给某个函数时,往往传递的都是该对象的引用。因此我们在引用上所做的任何改动,实际上都会影响它所引用的源对象。
var original = { howmany:1};var copy = original;cope.howmany;//1copy.howmany = 100;original.howmany;//100
同样的,将对象传递给函数的情况也是大抵如此:
var original = { howmany: 100};var nullify = function (o){ o.howmany = 0;}nullify(original);orifinal.howmany;
对象比较
当我们对对象进行比较操作时,当且仅当两个引用指向同一个对象时为true。而如果是不同的对象,即使他们碰巧拥有相同的属性和方法,比较操作也会返回false。下面,我们来创建两个看上去完全相同的对象:
var fido = {breed:'dog'};var benji = {breed:'dog'};benji===fido;//falsebenji==fido;//flase
我们可以新建一个变量mydog,并将其中一个对象赋值给它。这样一来mydog实际上就指向了这个变量。
var mydog = benji;
这种情况下,mydog与benji所指向的对象是相同的(也就是说,改变mydog的属性就等同于改变benji),比较操作就会返回ture。
mydog===benji;//true
并且,由于fido是一个不同的对象,所以不能与mydog进行比较。
mydog===fido;//false
0 0
- javaScript对象那些事儿(1)
- javaScript对象那些事儿(2)
- JavaScript关于面向对象的那些事儿
- JavaScript 变量那些事儿
- 【javascript】数组那些事儿
- javascript那些事儿(二)Global对象用法
- javascript原型的那些事儿
- JavaScript变量声明那些事儿
- win7对象头那些事儿
- C++临时对象那些事儿
- JS那些事儿(4)-对象
- 前端那些事儿(1) --- javascript模块化(上)
- Box2d那些事儿(1)
- JS那些事儿(1)
- 程序员那些事儿--------1
- UIWebView与JavaScript的那些事儿
- Javascript与iframe的那些事儿
- UIWebView与JavaScript的那些事儿
- bootstrap 栅格系统
- 社説 20150304 発送電分離案 安定供給体制の確保が前提だ
- [易飞]部件委外的一点看法
- 怎么把PDF格式资料转成PPT
- 黑马程序员——OC基础—-----协议与代理
- javaScript对象那些事儿(1)
- 情景分析“C语言的const关键字”
- Struts2 - 常用的constant总结
- 社説 20150304 補助金企業寄付 適正化へ与野党は知恵を絞れ
- TWaver推智能手表挑战华为苹果
- 物联12:电子标签按技术分类
- HDU 4565So Easy! 矩阵快速幂
- 软件项目管理流程总结
- Python写自动化之启动进程并获取进程输出