javascript 直接创建对象与间接创建对象 私有函数不能访问this变量 是否使用var声明变量几个问题探讨

<script type="text/javascript">
var a = 'a1';
var b = 'b1'

function getA(){
	alert('1A')
}
var student = function (name,age){
	this.name = name
	this.age = age
	this.getName = function (){
		return this.name;
	}
	this.getAge = function(){
		return this.age;
	}
	var a = 'a2';
	b = 'b2';
	getA = function(){
		alert('A2')
	}
	getB = function(){
		alert('B')
	}
}

/**
getA();
alert(a)
alert(b)
new student();
getA();
alert(a)
alert(b)
//1.在student 类内如果不用var 来声明变量或者函数,那么会覆盖外面的变量或者函数,所以本函数内部的变量最好要使用var开始定义。
**/

/**
//getB()
new student();
getB()
//2.在student没有被new之前是没有getB() 函数的
**/

/**
alert(new student('a',19).getName())
new student('a',19).getA()
//3.私有变量不能够被对象访问,而且私有方法不能够访问到对象变量的或者方法,也就是说在getA中不能访问name 或者getname
**/
var student1 = {
	name:'whs',//相当于this.name
	age:10,
	getName:function (){
		return this.name;
	},
	getAge:function(){
		return this.age;
	}
}
var student2 = new student('whs',10)
//4.student1 与 student2 表达的意思差不多,一个是通过直接创建对象的方式,一个是通过先创建函数(或者说类),再创建对象


</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hassen2010

你的鼓励我能输出跟多的好文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值