精选文章 盘点js对象定义的几种方法

盘点js对象定义的几种方法

作者:銨靜菂等芐紶 时间: 2020-08-05 04:00:45
銨靜菂等芐紶 2020-08-05 04:00:45

转载自品略图书馆 http://www.pinlue.com/article/2019/04/0700/008558511011.html

 

方法一:通过var object={}  对象字面量

(1),可以叫对象直接量来自定义一个对象。对象自面量是一个表达式,这个表达式的每次运算都创建并初始化一个新对象。

var user = { x:1,y:2,z:3,pp:function(){  alert("22222222") }}

//用字面量定义一个对象,是以名值对的方式来保存的

alert(user.y)   //调用属性

user.pp()   //调用方法

(2)   var student = {     //还可以换行写,每义定一个属性名和值,用逗号分开,最后一个不加逗号,加了会被忽略,但在ie中会报错,最好不要加

"x":1,          //定义属性名的时候可以用双引号

'y':2,          //定义属性名的时候可以用单引号

z:12.3,         //定义属性名的时候可以加任何

"for":"使用关键字来定义属性名要加上引号",  //使用关键字定义的话必须加上双引号             man:{           //对象里面还可以签到对象

text:null,       //对象的属性值可以是多种数据类型

text2:undefined,

married:true

},

dd:function(){alert("33333333")}

}

alert(student.x)

student.dd()

方法二:通过 var obj = new Object();创建对象

1、创建一个空白的Object对象

写法1:var obj = new Object();

写法2:var obj = {};

2、给创建的对象添加属性和方法

var obj = {};

obj.name = '小明';  //属性

obj.showName = function(){  //方法

alert(this.name);

};

obj.showName();  //方法的调用

==========================================

1

==========================================

===========================================

通过object.create来创建对象

1

===========================================

方法三:通过构造函数来创建对象

通过instanceof操作符可以检测一个对象是否由某个指定的构造器函数来创建的对象

注意:

使用的时候可以通过new操作符得到对象。

用构造器创建对象的时候可以接收参数

构造器函数的首首字母最好大写,区别其他的一般函数

function Person(name,age){   //创建一个person的函数

this.name =name;          //此处的this对应的是对象obj

this.age = age

}

var obj = new Person("ziksang",21)  //用一个构造函数来创建了对象

alert(obj.name)        //=>ziksang  用对象名.对象的属性来获得属性值

alert(typeof obj)      //=>用typeof来检测obj是不是一个对象类型, 返回object

alert(obj instanceof Person)  //=> 用instanceof 来检测objcet是不是person函数构造出来的对象,返回true

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

方法(1)==方法(2)

(1)

var obj = new Object();

obj.name = "孙悟空";

obj.age = 18;

obj.sayName = function(){    alert(obj.name);         };

function fun(){    alert(obj.name);  };

obj.sayName();

fun();

(2)

var obj2 = {

name:"猪八戒",

age:18,

sayName:function(){  alert(obj2.name);     }

};

obj2.sayName();

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:YUM 安装MariaDB

下一篇:mybaits的缓存04

您可能感兴趣

  • Java异常面试题(2020最新版)

    文章目录 Java异常架构与异常关键字 Java异常简介 Java异常架构 1. Throwable 2. Error(错误) 3. Exception(异常) 运行时异常 编译时异常 4. 受检异常与非受检异常 受检异常 非受检异常 Java异常关键字 Java异常处理 声明异常 抛出异常 捕获异常 如何选择异常类型 常见异常处理方式 直接抛出异常 封装异常再抛出 捕获异常 自定义异常 t...

  • C++提供了四个转换运算符:const_cast,static_cast,reinterpret_cast

    https://blog.csdn.net/TanJiaLiang_/article/details/83992337 用const_cast来去除const限定 于是const_cast就出来消灭const,以求引起程序世界的混乱。 下边的代码就顺利编译功过了: const int constant = 21; const int* const_p = &constant; int* mo...

  • Webview.apk —— Google 官方的私有插件化方案

    简介: 在 Android 跨入 5.0 版本之后,我们在使用 Android 手机的过程中,可能会发现一个奇特的现象,就是手机里的 WebView 是可以在应用商店升级,而不需要跟随系统. 在 Android 跨入 5.0 版本之后,我们在使用 Android 手机的过程中,可能会发现一个奇特的现象,就是手机里的 WebView 是可以在应用商店升级,而不需要跟随系统的。 这一点在 iOS...

  • 大型架构及配置技术ansible(一)之ansible基础,ad-hoc,批量配置管理,ansible七种武器,JSON简介,YAML简介

    一、ansible基础 6台虚拟机(2cpu,1.5G以上内存,10G以上硬盘,1块网卡) 主机名 IP地址 角色 ansible40 192.168.4.40/24 管理主机 web41 192.168.4.41/24 托管主机 web42 192.168.4.42/24 托管主机 db43 192.168.4.43/24 托管主机 db44 192.168.4.44/24 托管主机 ca...

  • 中国第五个直辖市,我来说两句

    中国第五个直辖市,我来说两句 最近网上有很多网民在讨论新的直辖市的问题,很多人鼓吹说深圳很有可能成为第五个直辖市,有人说武汉应该成为直辖市。去年回河南长葛岳父家探亲,发现本地人在说郑州可能成为直辖市。实际上,谁是最新的直辖市,是一个老生常谈的问题。不仅仅大城市,很多二三线城市的市民,都在网上表达希望自己所在的城市成为新的直辖市的愿望和幻想。 众所周知,想成为一个直辖市是有设立条件的。首先它要...

  • 编程小白的毕设开发教程-filter实战

    在filter中可以得到代表用户请求和响应的request、response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。 一、Decorator设计模式 1.1、Decorator设计模式介绍   当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强: 编写子类,覆盖需...

  • 前端实习生面试题分析(一)

    最近面试拿了很多公司的实习offer,只要是面试的都通过了。 接下来就分析下面试题,也能给自己一个提升吧,以便后续的面试更轻车熟路些,题目没什么顺序,想起什么写什么,还有我面试过程中的一些小套路。 估计要写好多,每天写几道题,而且有些经验性的东西也不容易写出来 这篇写的都是类似一些概念性的理论东西。 1.JS防抖和节流 先说为什么要做防抖和节流,针对一些会频繁触发的事件,像scroll、re...

  • 功能fine秒mine!苹果“偷走”了安卓系统,但它表现得更好

    全文共1670字,预计学习时长5分钟 图源:unsplash 不久前的开发者大会上,苹果发布了iOS 14,展示了一些将在今年晚些时候出现在iPhone上的重要功能,比如允许用户将应用程序中的内容导入主屏幕的小部件,以及画中画视频功能。 安卓迷们发现了一些很明显的事情:许多在年度开发者大会上发布的功能已经在安卓上使用了很多年了。没错,小部件从一开始就是安卓系统的一部分,它可以让用户在主屏幕上...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。