IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 读JavaScript语言精粹-创建对象的方法 -> 正文阅读

[JavaScript知识库]读JavaScript语言精粹-创建对象的方法

JavaScript 的设计是一个简单的 基于对象 的范式. 一个对象就是一系列属性的集合, 一个属性包含一个名和一个值. 一个属性的值可以是函数, 这种情况下属性也被称为方法

对象从何而来?

这个问题很好回答:创建,对象是通过创建产生的,那如何创建呢?下面是总结的几种方法

1. 直接创建一个空对象

var  aa={}

这种方法适用于创建应用中的唯一全局变量,可以减少全局变量污染,因为能把全局性的资源都纳入 aa 这个名称空间下。

2. 通过 new 来创建一个 Object 对象

 var  bb= new Object();

3. 通过new 来创建 构造函数

function CC(name,sex){
   this.name=name;
   this.sex=sex;
   console.log('CC唱歌镇不错');
}
C();
var zw_gg=new CC('紫薇格格','女'); 

输出结果:
在这里插入图片描述
可能有人会有疑问,创建对象和创建构造函数有什么关系?
我对此的解答是:在JS中函数是一个可以被执行的对象,所以函数也是对象。
用这个方法是由几个需要注意的点:

  • 构造函数的函数名是大写的,其中大写并没有什么特殊含义,只是表明一下它是构造函数。
  • 以 new 的方式 来运行 完成了初始化功能,运行过程:
    - 生成一个空对象 此时已经拥有了原型
    - 函数运行,上下文是空对象
    - 将它返回

4. ES6 创建对象(class)

JS最早是没有 class 这个关键字的,它是 ES6 的新特性,可以用来定义一个类,实际上,class 只是一种语法糖,它是构造函数的另一种写法。(什么是语法糖?是一种为避免编码出错和提高效率编码而生的语法层面的优雅解决方案,简单说就是,一种便携写法。)

class CC{
 constructor(name,sex){
     this.name=name;
     this.sex=sex;
 }
 sayMiao(){
     console.log('喵喵')
 }
}
var zw= new CC('紫薇','女');
console.log(zw.name,zw.sex);
zw.sayMiao()

输出结果:
在这里插入图片描述

  • constructor:是构造方法。每个类都必须要有一个 constructor,如果没有显示声明的话,js 引擎会自动给它添加一个空的构造函数。
  • 定义于 constructor 内部的属性和方法(即定义在 this 上的属性和方法),属于实例的属性和方法,不会被其他对象实例分享。
  • 定义在 constructor外部(比如上面的sayMiao)是属于原型的属性和方法,会被对象实例共享。
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 10:46:04  更:2021-07-14 10:48:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/9 3:44:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码