浅谈Js对象的概念、创建、调用、删除、修改!
一、我们经常困惑,对象究竟是什么,其实这是一种思维,一种意识上的东西,就像我们都说
世界是有物质组成的道理一样,理解了下面的几句话!对象也不是那么抽象!
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对象的概念、创建、调用、删除、修改!的更多相关文章
- 浅谈 js 对象 toJSON 方法
前些天在<浅谈 JSON.stringify 方法>说了他的正确使用姿势,今天来说下 toJSON 方法吧.其实我觉得这货跟 toString 一个道理,他是给 stringify 方法字 ...
- 浅谈js对象及对象属性
对象: ECMA-262把对象定义为 :无序属性的集合,其属性可以包含基本值,对象或者函数. 严格来讲,这就相当于说对象是一组没有特定顺序的值.对象的每一个属性或方法都有一个名字,而每个名字都映射到一 ...
- 浅谈JS中的闭包
浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变 ...
- 浅谈JS面向对象
浅谈JS面向对象 一 .什么是面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了.注重代码的过程部分. 二.什么是面向对象 最先出现在管理学 ...
- 浅谈JS严格模式
浅谈JS严格模式 简介 何为严格模式?严格模式(strict mode)即在严格的条件下运行,在严格模式下,很多正常情况下不会报错的问题语句,将会报错并阻止运行. 但是,严格模式可以显著提高代码的健壮 ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
- 浅谈JS之AJAX
0x00:什么是Ajax? Ajax是Asynchronous Javascript And Xml 的缩写(异步javascript及xml),Ajax是使用javascript在浏览器后台操作HT ...
- 浅谈 js 正则字面量 与 new RegExp 执行效率
原文:浅谈 js 正则字面量 与 new RegExp 执行效率 前几天谈了正则匹配 js 字符串的问题:<js 正则学习小记之匹配字符串> 和 <js 正则学习小记之匹配字符串优化 ...
- 浅谈 js 正则之 test 方法
原文:浅谈 js 正则之 test 方法 其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西.先来看个东西吧. var re = /\d/; console. ...
随机推荐
- Python之实用的IP地址处理模块IPy
实用的IP地址处理模块IPy 在IP地址规划中,涉及到计算大量的IP地址,包括网段.网络掩码.广播地址.子网数.IP类型等 别担心,Ipy模块拯救你.Ipy模块可以很好的辅助我们高效的完成IP的规划工 ...
- WordPress一键部署网站
每个人心里都有一个建站梦,所以今天作为我第一篇文章,就给大家圆了这场梦. 今天我来详细的一步一步带领大家利用WordPress程序来建立自己的小站以及解决直接域名访问(本地安装wordpress请阅读 ...
- Selenium 简单的例子
Selenium是一个web自动化验收测试框架. Selenium Client Driver - Selenium 2.0 Document http://seleniumhq.github.i ...
- 数据分析师的福音——VS 2017带来一体化的数据分析开发环境
(此文章同时发表在本人微信公众号“dotNET开发经验谈”,欢迎右边二维码来关注.) 题记:在上个月的Connect() 2016大会上,微软宣布了VS 2017 RC的发布,其中为数据分析师带来了一 ...
- Etw EventSourceProvider_EventsProducer.cs OopConsoleTraceEventListenerMonitor_TraceControllerEventsConsumer.cs
// EventSourceProvider_EventsProducer.cs /* /r:"D:\Microshaoft.Nuget.Packages\Microsoft.Diagnos ...
- UWP Jenkins + NuGet + MSBuild 手把手教你做自动UWP Build 和 App store包
背景 项目上需要做UWP的自动安装包,在以前的公司接触的是TFS来做自动build. 公司要求用Jenkins来做,别笑话我,之前还真不晓得这个东西. 会的同学请看一下指出错误,不会的同学请先自行脑补 ...
- python 学习第二十一天,django知识(三)
一,django的url路由系统总结 1,url(/index/,函数或者类) 2,url(/index/(\d+), 函数或者类) 3,url(/index/(?P<nid>\d+),函 ...
- EditText取消自动调用键盘事件(方法之一)
直接上代码,这只是其中一种方法: 重点在于是在该EditText的父空间中设置 <LinearLayout android:layout_width="match_parent&quo ...
- find out the neighbouring max D_value by counting sort in stack
#include <stdio.h> #include <malloc.h> #define MAX_STACK 10 ; // define the node of stac ...
- 浩瀚PDA开单器-结束手工开单模式【百货、商超】PDA安卓智能手持POS 进销存管理系统移动收银管理软件
移动销售终端:先进的跨平台技术,支持智能PDA等移动终端提供移动销售开单.移动POS.移动查询货品.移动盘点等功能. 移动开单器的操作说明 第一步:选客户 Ø 用户在空白开单主页左划屏幕 ...