JavaScript--new关键字

创建对象的三种方式:

        1.直接使用变量创建(语法糖:比较快捷的方式)

<script>
var obj={
				name:"jack",
				age:19,
				sex:"boy"
			}
</script>

        2.通过new来创建(标准的写法)

<script>
var obj2=new Object({
				name:"herry",
				age:20,
				sex:"boy"
			})
</script>

        3.通过构造函数来创建对象(比较便捷的方式,当属性名一样,但值不同可以快速创建多个对象):任何函数都可以通过new来创建对象

</script>	
function fn(){}
					var ft=new fn()//创建一个空对像ft
					ft.age=24//给对象ft中添加一个属性age和值
					console.log(ft)//打印出来的是对象
		</script>

                        

         分析this指向步骤:1.创建一个空对象

                              2.运行函数

                              3.函数内部的this是创建的对象(下列的this分别指向b对象和c对象

        b和c是两个不同的对象,是两个不同的数据容器,只是属性名一样,但值不同

<script>
function pig(name,age,sex){
				console.log()
				this.name=name
				this.age=age
				this.sex=sex
			}
			var b=new pig("jack",19,"boy")
			console.log(b) 
			var c=new pig("herry",20,"boy")
			console.log(c) 			
		</script>

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

 

new构造函数生成结果程序分析步骤

        1.创建一个对象

        2.运行函数

        3.函数内部的this就是创建的那个对象

        4.整个表达式生成的结果有两种(1)函数若返回一个引用数据(数组、对象、函数),那么生成结果就是引用数据

                                                          (2)若返回的不是引用数据,则返回的就是刚刚创建的对象

                4.1例子:由下面程序可知,返回的是一个引用数据中的对象,所以此时的new对象失效,返回的就是对象

<script>
function a(){
			this.i=1
			this.b="true"
			this.c='123'
			return {name:"jack",age:11,sex:"boy"}
		}
		var d=new a()
		console.log(d)
		</script>

        ​​​​​​​        ​​​​​​​        

                4.2例子:由下面程序可以看到返回的类型不是引用数据中的任何一种,所以new对象生效,返回的是对象

<script>
function a(){
			this.i=1
			this.b="true"
			this.c='123'
			return 300
		}
		var d=new a()
		console.log(d)
		</script>

        ​​​​​​​        ​​​​​​​        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值