js问题 有两个方法,怎么实现其中一个方法调用另一个方法中的变量?

JavaScript08

js问题 有两个方法,怎么实现其中一个方法调用另一个方法中的变量?,第1张

第一种方法。

1.首先准备好两个js文件。

2.然后写一个html文件,通过<script type='text/javascript' src=''></script>方法,将两个js引用到html文件中。

3.处于下方的js文件,就可以直接调用上方js文件中的内容了。比如我们在HTML中先载入了jquery,在第二个js可以使用dollar来对对象进行直接操作。

4.因为js本身是不能运行的,必须依托于html才能执行。<script type='text/javascript' src=''></script>的引用其实就相当于将几个js文件都写在HTML文件中了,所以可以直接调用。

第二种方法。

1.首先要在要引用另外一个js文件的js开头,写一个匿名函数。

2.在匿名函数里创建一个document.write()函数,将另外一个要引用的js写入。

3.但是除了opera浏览器,其他浏览器都不会马上建立DOM树,所以需要将动态载入js全部执行完成后,才能执行后续代码。可以将这一部分代码进行封装。

4.最后使用封装函数进行测试,这里使用的封装函数是LoadJS,我们写运行函数就OK。

1:方法调用模式。

请注意this此时指向myobject。

/*方法调用模式*/

var myobject={

value:0,

inc:function(){

alert(this.value)

}

}

myobject.inc()

2:函数调用模式

请注意this此时指向window

/*函数调用模式*/

var add=function(a,b){

alert(this)//this被绑顶到window

return a+b

}

var sum=add(3,4)

alert(sum)

3:构造器调用模式

javascript语言精粹一书建议摒弃这中方式。因为有更好的方式。这里先不介绍。下次发表博文的时候贴出来。

会在这里加一个连接。

/*构造器调用模式 摒弃*/

var quo=function(string){

this.status=string

}

quo.prototype.get_status=function(){

return this.status

}

var qq=new quo("aaa")

alert(qq.get_status())

4:apply调用模式

==我们可以来看一个更有用的apply实例。看最下面的代码。

/*apply*/

//注意使用了上面的sum函数

//与myobject

//这中调用方式的优点在于可以指向this指向的对象。

//apply的第一个参数就是this指针要指向的对象

var arr=[10,20]

var sum=add.apply(myobject,arr)

alert(sum)