什么是对象?谈谈你对对象的了解?
好吧,这个对象不是你认为的那个对象哦,现在让我们开始进入话题。 让我们先来看一个例子:
这是一个基本的对象声明,声明一个HuaZiGe对象,该对象包含属性:name、age、sex、health,方法:smock()、drink()。
这个对象可以有哪些操作呢?
上面这个对象其实是大多数人都知道的普遍的一种对象定义方式,C和java也差不多是这样写的,但是javascpipt的对象定义有两种形式,这只是其中的一种叫做 声明(文字)形式, 接下来我们来看下一种 构造形式
看了你可能会有疑惑 :this怎么操作,构造函数哪来的返回值?
下面就来解释:
构造函数的内部原理:(当被new的时候)
- 在构造函数体内最前面隐式加上 this={}
- 执行 this.xxx = xxx
- 隐式的返回this
放入代码来解释:
其实构造函数也有不同的定义形式,可以用系统自带的Object()
也可以自己定义:
(就是自己写一下this的运行机制.一般不建议写自定义构造函数,这样的话构造函数很多自带的东西无法运用)
下面我们来聊一下包装类
老规矩,上代码!
上面的输出为什么是undefined 而不是aaa呢? 有一条规定叫做:
原始值是不能有属性和方法,属性和方法只有对象才能有,这是对象独有的!!!
先了解原始值有哪些类型: 原始值的类型有:string、number、boolean、undefined、null等一些我们熟悉的,非原始值类型(我们叫引用类型)有:object、Array、function;
了解了这些我们就来解答上面的问题
了解了上面的知识点,我们来做一道阿里的面试题吧(大家看仔细,有坑。答案我会发布在评论区)
小结:
一.对象的创建
- var obj = {} //plainObject 对象字面量 | 对象直接量
- 构造函数 //1) 系统自带的构造函数 Object() //2) 自定义
构造函数的内部原理:(当被new的时候) 1. 在构造函数体内最前面隐式加上 this={} 2. 执行 this.xxx = xxx 3. 隐式的返回this 二.包装类 1.规则:原始值是不能有属性和方法,属性和方法只有对象才能有,这是对象独有的!!! 2. 在原始值身上调用属性,会隐式的发生一个过程
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!