<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创建对象的三种方式的更多相关文章

  1. js创建对象的三种方式和js工厂模式创建对象

    文章地址: https://www.cnblogs.com/sandraryan/ 创建对象 创建对象的三种方式 构造函数 ,是一种特殊的方法.主要用来在创建对象时初始化对象 1. 调用系统的构造函数 ...

  2. spring入门:beans.xml不提示、别名、创建对象的三种方式

    spring的版本是2.5 一.beans.xml文件不提示 Location:spring-framework-2.5.6.SEC01\dist\resources\spring-beans-2.5 ...

  3. Spring笔记03(Spring创建对象的三种方式)

    1.创建对象的三种方式和bean的生命周期的验证: Animal接口代码: package cn.pb.dao; /** * 动物接口 */ public interface Animal { //吃 ...

  4. Spring创建对象的三种方式以及创建时间

    创建对象的三种方式: 1.采用默认的构造函数创建 2.采用静态工厂方法 1.写一个静态工厂方法类 public class HelloWorldFactory { public static Hell ...

  5. JavaScript中创建对象的三种方式!

    JavaScript中创建对象的三种方式! 第一种 利用对象字面量! // 创建对象的三种方式! // 1 对象字面量. var obj = { // 对象的属性和方法! name: 'lvhang' ...

  6. js 函数定义三种方式

    <p>Js 函数定义的三种方式:</p> <br> <p>方式一:function</p> <script type="te ...

  7. C++创建对象的三种方式

    C++在创建对象的时候,有三种方式: #include <iostream> using namespace std; class A { private: int n; public: ...

  8. [UE4]C++创建对象的三种方式

    #include <iostream> using namespace std; class A { private: int n; public: A(int m):n(m) { } ~ ...

  9. 第184天:js创建对象的几种方式总结

    面向对象编程(OOP)的特点: 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有的对象下继承出新的对象 多态:多对象的不同形态 一.创建对象的几种方式 javascript 创建对象简单 ...

随机推荐

  1. js追加html元素

    jquery追加html代码,添加元素 .append() //新增仲裁申请人 $("."+inputName).append("<div class=\" ...

  2. 2018-2019-2 网络对抗技术 20165230 Exp8 Web基础

    目录 实验目的 实验内容 实验步骤 (一)Web前端HTML Apache HTML编程 (二) Web前端javascipt 基础知识理解 JavaScript编程 (三)Web后端:MySQL基础 ...

  3. 【C/C++开发】C++11 并发指南三(std::mutex 详解)

    本系列文章主要介绍 C++11 并发编程,计划分为 9 章介绍 C++11 的并发和多线程编程,分别如下: C++11 并发指南一(C++11 多线程初探)(本章计划 1-2 篇,已完成 1 篇) C ...

  4. Shell脚本之六 数学计算

    前面一节Shell篇之五 基本运算符介绍了常见的 Shell 算术运算符,这节介绍 Shell 的数学计算.Shell 和其它编程语言不同,Shell 不能直接进行算数运算,必须使用数学计算命令. 下 ...

  5. [.Net,C#]三类资源:流对象Stream,字节数组byte[],图片Image

    三类资源:流对象Stream,字节数组byte[],图片Image 关系:Stream<=>byte[],byte[]<=>Image Stream 与Image相互转化的媒介 ...

  6. Lua代码编写规范

    开发中,大量使用lua,暂时根据当前状况,总结相对而言较好的规范,在多人协作中可以更好的开发.交流. 介绍  该文档旨在为使用lua编写应用程序建立编码指南. 制订编码规范的目的: 统一编码标准,通用 ...

  7. Python协程深入理解(转)

    原文:https://www.cnblogs.com/zhaof/p/7631851.html 从语法上来看,协程和生成器类似,都是定义体中包含yield关键字的函数.yield在协程中的用法: 在协 ...

  8. 【题解】整数划分 [51nod1201] 整数划分 V2 [51nod1259]

    [题解]整数划分 [51nod1201] 整数划分 V2 [51nod1259] 传送门:整数划分 \([51nod1201]\) 整数划分 \(V2\) \([51nod1259]\)** [题目描 ...

  9. Python开发【第十四篇】装饰器

    装饰器 什么是装饰器? ​ 装饰器是一个函数,主要作用是用来给包装另一个函数或者类 包装的目的是不改变原函数名(或类名)的情况下改变或添加被包装对象的功能 函数装饰器 是指装饰器是一个函数,传入的是一 ...

  10. Stopwatch 类用于计算程序运行时间

    Stopwatch 类 命名空间:System.Diagnostics.Stopwatch 实例化:Stopwatch getTime=new Stopwatch(); 开始计时:getTime.St ...