js创建对象的三种方式
<script>
//创建对象的三种方式
// 1.利用对象字面量(传说中的大括号)创建对象 var obj1 = {
uname: 'ash',
age: 18,
sex: "女",
sayhi: function() {
console.log("hello kitty"); }
} //访问属性的两种方法
console.log(obj1.uname);
console.log(obj1[`age`]); //调用对象的方法
obj1.sayhi(); // 创建对象的第二种方式,用new 关键字
var obj2 = new Object();
//追加属性和方法
obj2.uname = '小明';
obj2.age = 20;
obj2.sex = "男";
obj2.sayHi = function() {
console.log("hi~");
}
console.log(obj2.age);
console.log(obj2[`age`]);
obj2.sayHi(); // 以上两种方法创建对象一次只能创建一个,用构造函数可以多次创建对象
// 创建对象的第三种方式,用构造函数
function Star(uname, age, sex) {
this.uname = uname; //构造函数里面一定要用到this关键字 ,表示当前对象
this.age = age;
this.sex = sex;
this.sing = function(ge) {
console.log(uname + "的主打歌 " + ge); }
} var LDH = new Star("刘德华", 20, "男");
console.log(LDH.uname);
console.log(LDH.age);
LDH.sing("冰雨"); /* new一个对象的执行过程:
1.创建一个新对象
2.this指向这个对象
3.形参为这个对象的属性和方法赋值
4.返回这个对象,所以构造函数里面不需要return */ var YBN = new Star("姚贝娜", 21, "女"); //new出一个对象
YBN.sing("随他吧");
</script>
如何遍历这个对象的属性和值呢?用for in 循环
<script>
// 首先,我用构造函数创建对象
function Star(uname, age, sex) {
this.uname = uname;
this.age = age;
this.sex = sex;
this.sing = function(ge) {
console.log(uname + "的主打歌" + ge); } }
var GLN = new Star("龚琳娜", 30, "女");
//现在来遍历龚琳娜的属性
for (const key in GLN) {
console.log(GLN.uname + "的属性有" + key);
console.log(GLN.uname + "的值有" + GLN[key]);
}
</script>
注意,key只是属性,obj[key] 才是值
js创建对象的三种方式的更多相关文章
- js创建对象的三种方式和js工厂模式创建对象
文章地址: https://www.cnblogs.com/sandraryan/ 创建对象 创建对象的三种方式 构造函数 ,是一种特殊的方法.主要用来在创建对象时初始化对象 1. 调用系统的构造函数 ...
- spring入门:beans.xml不提示、别名、创建对象的三种方式
spring的版本是2.5 一.beans.xml文件不提示 Location:spring-framework-2.5.6.SEC01\dist\resources\spring-beans-2.5 ...
- Spring笔记03(Spring创建对象的三种方式)
1.创建对象的三种方式和bean的生命周期的验证: Animal接口代码: package cn.pb.dao; /** * 动物接口 */ public interface Animal { //吃 ...
- Spring创建对象的三种方式以及创建时间
创建对象的三种方式: 1.采用默认的构造函数创建 2.采用静态工厂方法 1.写一个静态工厂方法类 public class HelloWorldFactory { public static Hell ...
- JavaScript中创建对象的三种方式!
JavaScript中创建对象的三种方式! 第一种 利用对象字面量! // 创建对象的三种方式! // 1 对象字面量. var obj = { // 对象的属性和方法! name: 'lvhang' ...
- js 函数定义三种方式
<p>Js 函数定义的三种方式:</p> <br> <p>方式一:function</p> <script type="te ...
- C++创建对象的三种方式
C++在创建对象的时候,有三种方式: #include <iostream> using namespace std; class A { private: int n; public: ...
- [UE4]C++创建对象的三种方式
#include <iostream> using namespace std; class A { private: int n; public: A(int m):n(m) { } ~ ...
- 第184天:js创建对象的几种方式总结
面向对象编程(OOP)的特点: 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有的对象下继承出新的对象 多态:多对象的不同形态 一.创建对象的几种方式 javascript 创建对象简单 ...
随机推荐
- barbor部署
harbor 部署介绍: 1.版本信息 系统 :Centos 7.5 版本: harbor-offline-installer-v1.8.1 docker :docker-ce-18.06.2.ce- ...
- mysql 添加注释
给表添加注释: alter table m_tb100_disabledsoldier comment '残疾士兵'; 给表中的字段添加注释alter table m_tb100_disable ...
- Linux常用基础(三)
1.gcc编译器 (1)简介 前期的GCC是GNU C Compiler,仅仅用于C语言的编译,经过多年的发展,现在的GCC为GNU Compiler Collection,并且目前支持多种编程语言的 ...
- 什么是 ZFS文件系统?ZFS概念及特点简介
什么是 ZFS? ZFS(Zettabyte File System)是由SUN公司的Jeff Bonwick领导设计的一种基于Solaris的文件系统,最初发布于20014年9月14日. SUN被O ...
- php开始,html应用的一些不错收藏
来源:http://happymc.iteye.com/link?tag=%E4%B8%AA%E4%BA%BA%E6%94%B6%E8%97%8F%E7%9A%84%E5%A5%BD%E7%BD%91 ...
- 【简记】修改Docker数据目录位置,包含镜像位置
为啥要改? Docker安装后默认下载的位置在/var/lib/docker ,如果/var分区没有独立分出来,Linux下默认是与/根分区在一起.一般我们装Linux系统的时候,除了做邮件服务器外, ...
- (一)使用phantomjs将动态HTML页面生成图片
因为工作需要,笔者需要将一个动态的HTML5页面生成图片,并将图片发送给用户. 其中难点在于怎样将动态H5生成图片 笔者翻阅资料后,决定使用phantomjs这个插件,关于这个插件的安装,非常简单,笔 ...
- List泛型用法(转载)
网上的List泛型用法,未验证,目测基本正确,教学用资料. 1. List的基础.常用方法: 声明: 1.List<T> mList = new List<T>(); T为列 ...
- 笔记:Java Language Specification - 章节17- 线程和锁
回答一个问题:多线程场景下,有时一个线程对shared variable的修改可能对另一个线程不可见.那么,何时一个线程对内存的修改才会对另一个线程可见呢? 基本的原则: 如果 读线程 和 写线程 不 ...
- Django ForeignKey不需要参照完整性?
我想在django模型中设置一个ForeignKey字段,它在某些时候指向另一个表.但我希望可以在这个字段中插入一个id,它引用另一个表中可能不存在的条目.因此,如果该行存在于另一个表中,我希望获得F ...