介绍:
一个html,2个js文件,html分别引入2个js文件。
在html文件中创建script标签,可以无阻碍调用js文件中定义的方法。但是现在需求变了,要实现js和js之间互相调用其方法。
环境:
一:html文件:(在这个文件中分别引入了index.js和index1.js,并且调用了index.js中的a()方法)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
//引入jquery 引入js
<script src="../js/jquery-3.0.0.min.js"></script>
<script src="index.js"></script>
<script src="index2.js"></script>
<script>
a() //调用了a方法,执行a函数
</script>
</body>
</html>
index.js文件:(1.定义了一个叫a函数 2.)
function a() {
console.log('这个是index页面')
}
//$(document).ready文档对象模型都加载完之后执行
$(document).ready(function () {
new b(); //这个b()是index1.js中的方法,实现了js相互调用方法
});
/*new了之后做了哪些事情:
(1)创建一个空对象obj;
(2)把obj的__proto__ 指向Animal的原型对象prototype,此时便建立了obj对象的原型链:obj->Animal.prototype->Object.prototype->null
【如果你不了解JS原型链,请先阅读:[JS原型和原型链](http://www.cnblogs.com/onepixel/p/5024903.html)】
(3)在obj对象的执行环境调用Animal函数并传递参数“cat”。 相当于var result = obj.Animal("cat")。
当这句执行完之后,obj便产生了属性name并赋值为"cat"。【关于JS中call的用法请阅读:[JS的call和apply](http://www.cnblogs.com/onepixel/p/5038020.html)】
(4)考察第3步返回的返回值,如果无返回值或者返回一个非对象值,则将obj返回作为新对象;否则会将返回值作为新对象返回。*/
index1.js文件:(定义了一个b方法)
function b() {
console.log('这个个index1页面')
}