黑马程序员技术交流社区
标题:
关于Javascript prototype属性
[打印本页]
作者:
王梁星
时间:
2012-10-26 15:00
标题:
关于Javascript prototype属性
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>
<script type="text/javascript" >
function getMax()
{
var max=arr[0];
for(var i=0;i<arr.length;i++)
{
if(max<arr[i])
max=arr[i];
}return max;
}
Array.prototype.max=getMax;
var arr=[7,4,6,1,8];
document.write(arr.max());
</script>
</body>
</html>
以上是html文件内容,重点在<body></body>里。
看,function getMax()里没有设置参数arr,而且,document.write(arr.max())里也没有把arr传入,仅仅是arr调用了自定义的max方法。看似漏洞百出,然而编译却通过了!又对比JScript中的prototype属性,给出了有如下一段代码示例:
<div class="blockcode"><blockquote>function array_max( ){
var i, max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );
复制代码
示例用的是this。
看来Javascrip语法松的很啊。是不是?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2