采用封装函数的方法,进而解决可能造成的冲突。接口技术就是对函数进行封装,然后定义一个对外的接口,其它文件只能通过接口来访问被封装的函数
(function()
{
average_floor={average:average};//接口对象
function average(a,b){return Math.floor((a+b)/2)}//被封装的函数
})()
alert(average_floor.average(3,5));//结果为4
alert(average(3,5));//不能调用上面的函数,必须通过接口才能调用
JS代码的执行顺序
(1)按块执行,每个<script>算作一个块,前面的块不能访问后面的块的代码,但是前后的块都属于同一个全局作用域;
(2)JS遵循HTML文档流的解析顺序,如果要访问后面的块的代码要在文档流加载完毕后访问
window.οnlοad=function()//文档流加载完毕后可以访问后面代码快的函数,因为他们同属于一个全局对象
{
alert(sex);
alert(get());//返回100
}
</script>
<script type="text/javascript">
var sex="male";
function get()
{
return 100;
}
</script>
注意:当通过document.write方法同时引入外部的js文件和本页面的<script>的时候,不同浏览器的执行顺序是不一样的!解决方法就是,对外来的JS文件导入到单独的script标签中,同时把本页面的js也引入到一个单独<script>标签中,于是浏览器可以按照代码块的执行顺序执行,如:
<script>
document.write("<script type='text/javascript' src='test.js'><\/script>");
</script>
//把不是通过src引入的JS代码放入单独的<script>中
<script>
document.write("<script type='text/javascript'>");
document.write("<\/script>");
</script>