一、我们经常困惑,对象究竟是什么,其实这是一种思维,一种意识上的东西,就像我们都说
    世界是有物质组成的道理一样,理解了下面的几句话!对象也不是那么抽象!
    1.javascript中的所有事物都是对象,字符串、数值、数组、函数!
    而且js还允许自定义对象!
    2、对象就只是带有属性和方法的特殊数据类型
    3、属性是与对象相关的值,方法是能够在对象上执行的动作!

其实在这里的时候我们应该就有一个疑问要解决了,我们说函数是一个对象,为什么?
    很简单,js中所有的事物都是对象,函数自然包括在内,而且函数有自己的属性个方法,这更加验证了这一点!

我们对函数的属性和方法还是有疑问,函数到底是用来干嘛的?答案在这里:函数可以封装,可以调用,这是个什么概念,
    有了这个东西,我们就可以写很多共用的东西了!

我们学习对象的基本功应该学会一下几点:

// 一.创建对象的方式:
        // 1、直接创建:person = new Object()!直接创建了一个对象给了person!
        // 2、使用函数对象构造器创建:其实就是创建函数(在js中,this通常指的是我们正在执行的函数本身,或者是指向该函数运行时所属的对象!)
        // function person(firstname,lastname,age,eyecolor)
        // {
        // this.firstname=firstname;
        // this.lastname=lastname;
        // this.age=age;
        // this.eyecolor= function(){ alert("this is" + this.name + ".")};
        // }
        // 3、使用Json创建!
        // person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};这种样式也是在创建对象!
       
        // 对象的属性,我们可以添加,添加对象的方法其实就是附加在对象的上的函数!

// 二.针对第二种函数式的对象创建:这种方式的所有操作都需要先new出一个my对象,这个对象就是一个普通对象!
        // var my = new person();
        // 1、调用:
        // 使用属性:alert(my.firstname);
        // 调用方法:my.eyecolor();
        // 2、修改:
        // 修改属性:my.age = 18;
        // 3、增加:
        // my.name = "nihao"
        // 4、删除:
        // delete hero.name;

// 另一种常见实例:

// var hero = {
        // name : "zhangwuji",
        // age : 18,
        // tel : 1388888888,
        // sayMe : function()
        // {
        //     alert("this is zhangwuji.");
        // }
        // }

// 1 调用
        // alert(hero.name);
        // hero.sayMe
        // alert(hero['name']);
        // hero['sayMe']

//2 修改
        // hero.name = "zhouzhiruo";
        // alert(hero.nam
        // hero.sayMe = function(){
        //     alert("this is zhouzhiruo.")
        // }
        // hero.sayMe

//3 增加
        // hero.value = "zhouzhiruo";
        // alert(hero.value);
        // hero.sayVal = function(){
        //     alert("zhangwuji's value is zhouzhiruo.");
        // }
        // hero.sayVal

//4 删除
        // delete hero.name;
        // alert(hero.name);
        // delete hero.sayMe;  只有调用函数需要有()
        // hero.sayMe
        // var method = {
        //     add : function(a,b){
        //         return a + b;
        //     }
        // }    
        // alert(method.add(1,2));

浅谈Js对象的概念、创建、调用、删除、修改!的更多相关文章

  1. 浅谈 js 对象 toJSON 方法

    前些天在<浅谈 JSON.stringify 方法>说了他的正确使用姿势,今天来说下 toJSON 方法吧.其实我觉得这货跟 toString 一个道理,他是给 stringify 方法字 ...

  2. 浅谈js对象及对象属性

    对象: ECMA-262把对象定义为 :无序属性的集合,其属性可以包含基本值,对象或者函数. 严格来讲,这就相当于说对象是一组没有特定顺序的值.对象的每一个属性或方法都有一个名字,而每个名字都映射到一 ...

  3. 浅谈JS中的闭包

    浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变 ...

  4. 浅谈JS面向对象

    浅谈JS面向对象 一 .什么是面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了.注重代码的过程部分. 二.什么是面向对象 最先出现在管理学 ...

  5. 浅谈JS严格模式

    浅谈JS严格模式 简介 何为严格模式?严格模式(strict mode)即在严格的条件下运行,在严格模式下,很多正常情况下不会报错的问题语句,将会报错并阻止运行. 但是,严格模式可以显著提高代码的健壮 ...

  6. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  7. 浅谈JS之AJAX

    0x00:什么是Ajax? Ajax是Asynchronous Javascript And Xml 的缩写(异步javascript及xml),Ajax是使用javascript在浏览器后台操作HT ...

  8. 浅谈 js 正则字面量 与 new RegExp 执行效率

    原文:浅谈 js 正则字面量 与 new RegExp 执行效率 前几天谈了正则匹配 js 字符串的问题:<js 正则学习小记之匹配字符串> 和 <js 正则学习小记之匹配字符串优化 ...

  9. 浅谈 js 正则之 test 方法

    原文:浅谈 js 正则之 test 方法 其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西.先来看个东西吧. var re = /\d/; console. ...

随机推荐

  1. JAVA程序中SQL语句无法传递中文参数

    vi /etc/my.cnf [mysqld]# The default character set that will be used when a new schema or table is# ...

  2. JQuery UI dialog 弹窗实例及参数说明

    按钮代码: <a id="suprise" style="margin-left: 0.5em;cursor:pointer;">点我会有惊喜< ...

  3. (4)WebApi 跨域问题

    在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已 ...

  4. 谷歌浏览器对uploadify(swf)上传控件 崩溃问题

    页面加上 <script type="text/javascript" src=@Url.Content("~/Content/js/jquery.uploadif ...

  5. 电脑运行msi安装包提示the error code is 2503/2502如何解决

    当在电脑中运行msi安装包时,出现the error code is 2503或者2502错误提示,其实是由于没有运行的权限导致的,但是又不能右击以管理员身份运行,那么应该如何操作呢?对于这样的问题, ...

  6. Knockout.js随手记(8)

    visible, disable, css绑定 这个例子非常简单,主要演示如何通过属性控制html元素的显示与否(visible),可用性(disable)以及根据属性添加相应的CSS样式. 先简单的 ...

  7. Python-模块

    一.模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样, ...

  8. CozyRSS开发记录9-快速实现一个RSS解析器

    CozyRSS开发记录9-快速实现一个RSS解析器 1.再读RSS标准 既然需要自己实现一个RSS解析器,那自然需要仔细的读一读RSS的标准文档.在网上随便找了两份,一份英文一份中文: http:// ...

  9. webrtc中APM(AudioProcessing module)的使用

    一,实例化和配置 AudioProcessing* apm = AudioProcessing::Create(0); //这里的0指的是channelID,只是一个标注那个通道的表示 apm-> ...

  10. solr update接口常用方法

    solr索引数据更新接口:http://localhost:8080/solr/update 有以下一些操作可以通过update接口完成,只能使用post的形式提交数据. 1.添加索引 确保field ...