<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. 【Gamma】“北航社团帮”展示博客

    目录 团队介绍 项目愿景 整个项目的预期典型用户 功能展示 原预期用户数量 项目使用情况数据分析 用户量变化 学生认证人数 社长认证人数 入社申请数 活动发布 新闻发布 网页端使用情况 小程序打开次数 ...

  2. 正方教务系统客户端 error loading midas.dll.

    在windows xp/7/10上安装了客户端,安装到注册字体一步,没有响应,强行结束.启动客户端,登录,出现  error loading midas.dll. 32位:先将 midas.dll 放 ...

  3. linux_problem

    今日自学遇到两个问题:火狐浏览器显示安全错误,按照国内网站上抄来抄去的解决办法并没有解决我的问题,即,每次访问新的网站都会提示"support mozilla.org 的管理员...&quo ...

  4. Linux驱动架构之pinctrl子系统分析(一)

    1.前言在嵌入式系统中,许多SoC的内部都包含了pin控制器,通过芯片内部的pin控制器,我们可以配置一个或者一组引脚的状态和功能特性,Linux内核为了统一各SoC厂商的引脚管理,提供了pinctr ...

  5. python入门之作用域

    作用域的分类 1.全局作用域 全局可以调用的名字就存在于全局作用域 内置名称空间 + 全局名称空间 2.局部作用域 局部可以调用的名字就存放于局部作用域 局部名称空间 3. global 声明全局变量 ...

  6. Win10创建mysql8.0桌面快捷方式以及启动mysql.exe闪退问题

    1.先找到mysql的bin目录,将Mysql.exe发送快捷方式到桌面. 2.然后右键选择属性,将目标后面添加上 -uroot -p 我的完整目标如下: E:\mysql-8.0.17-winx64 ...

  7. 红米note7几个问题处理

    1.听筒声音很小,外放正常,试了很多种方法,最终可行的是吧听筒网灰尘弄一下. 2.SAICLink车机互联:需要打开USB调试.USB安装.USB调试(安全设置)(不开启这个的话会连接后就断开).默认 ...

  8. .Net 如何使用Nlog

    NLog是一个简单灵活的.NET日志记录类库,NLog的API非常类似于log4net,且配置方式非常简单.通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的调试信息,根据项目需求配置 ...

  9. Java异常的10个关键知识点

    前言 总结了Java异常十个关键知识点,面试或者工作中都有用哦,加油. 一. 异常是什么 异常是指阻止当前方法或作用域继续执行的问题.比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异 ...

  10. ES7.3.0配置

    # elasticsearch.yml cluster.name: my-application node.name: node-1 node.master: true node.ingest: tr ...