js调用对象中的方法

JavaScript012

js调用对象中的方法,第1张

var o = {a:"abc",b:{c:function(param){alert(this.a)//这里的this指向的不是o而是b,所以this是没有a属性的,这里应该弹出undefinedalert(param) }},d:function(){this.b.c.call(this,'dddd')//这样就行了,就可以改变this的指向为d的this}}

代码如下:

1.HTML页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>无标题文档</title>

<script type="text/javascript" src="1.js" ></script>

<script type="text/javascript" src="2.js" ></script>

</head>

<body>

<input type="text" id="tex" name="tex" onblur="fun()" />

</body>

</html>

2.js:

function onCli(){

var va=document.getElementById("tex").value

if(null == va || "" == va){

alert("请在文本框中输入内容!")

return false

}

return true//当va的值不为空时 if(onCli())中onCli()是undefined

}

3.js

function fun(){

if(onCli()){

alert("调用成功!")

}

}

你这代码写法肯定是调不到的,js是从上往下执行的,执行到var name=wt3103001的时候wt3103001还是undefined,怎么可能调得到东西,改成

var wt3103001={//需要调用的对象

pass:"520520",

}

var name=wt3103001

name.pass

就可以了