首页 > 编程语言 > 详细

JavaScript基于对象引入,闭包,面向对象的实现

时间:2017-01-22 13:35:21      阅读:143      评论:0      收藏:0      [点我收藏+]

Function对象的引入,创建方法对象

/*
function say(name,age) {
	alert("姓名:"+name+",年龄:"+age);
}
say("盖伦",24);
*/

//Function对象的引入,创建方法对象
var sayFunc=new Function("name","age","alert(\"姓名:\"+name+\",年龄:\"+age)");
sayFunc("盖伦",24);

  Function对象属性

//Function对象属性
var sayFunc=new Function("name","age","alert(\"姓名:\"+name+\",年龄:\"+age)");
alert("sayFunc方法对象的方法的参数个数"+sayFunc.length);//输出参数2个

  Function对象方法

//Function对象方法
var sayFunc=new Function("name","age","alert(\"姓名:\"+name+\",年龄:\"+age)");
alert(sayFunc.toString());
alert(sayFunc.valueOf());

  JS变量的作用域

<script type="text/javascript">

var a="zibo";
function func() {
	alert(a);
}
func();//读取全局变量a

/*
function func2(){
	var b="nihao";
}
func2();
alert(b);//b读取不到,作用域出了
*/

function func3(){
	c="welcome";
}
func3();
alert(c);//c可以读取

</script>

  闭包

<script type="text/javascript">

function func2(){
	var b="nihao";

	//定义一个function,然后返回return,从而调用了私有变量
	function func2(){//可以获取父方法的私有属性
		alert(b);
	}
	return func2;

}
var result=func2();
result();

</script>

  闭包的理解(访问私有变量d)

<script type="text/javascript">

function func4(){
	var d="淄博";//相当于private属性

	function func4(){//相当getter,setter
		return d;
	}
	return func4;

}
var result=func4();
alert(result());

</script>

  闭包

闭包是能够读取其他函数内部变量的函数

本质上闭包是函数内部和函数外部连接起来的一座桥梁

  闭包的用途

1、读取函数内部的变量

2、让这些变量始终保持在内存中

  闭包使用的注意点:

1、函数的变量保存在内存中,内存开销很大,不能滥用闭包,否则会造成网页性能问题,在IE中可能导致内存泄漏,解决办法,退出函数前,将不使用的局部变量全部删除。

2、闭包会在父函数外部改变父函数内部变量的值,使用时不要随意改变。

 

JavaScript基于对象引入,闭包,面向对象的实现

原文:http://www.cnblogs.com/void-m/p/6339935.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!