两个javascript文件相互覆盖(冲突)

两个javascript文件相互覆盖(冲突),javascript,jquery,Javascript,Jquery,我遇到的问题是,我在index.html中包含了两个javascript文件,ExhaustTemperature.js和CylinderPressure.js 我的想法是,当我单击list_row1时,ExhaustTemperature.js中的table1将显示,当我单击list_row2时,CylinderPressure.js中的table2将显示 我相信这两个javascript文件互相覆盖是因为它们有相似的方法名,有可能防止这种覆盖吗 我的index.html文件

我遇到的问题是,我在index.html中包含了两个javascript文件,ExhaustTemperature.js和CylinderPressure.js

我的想法是,当我单击list_row1时,ExhaustTemperature.js中的table1将显示,当我单击list_row2时,CylinderPressure.js中的table2将显示

我相信这两个javascript文件互相覆盖是因为它们有相似的方法名,有可能防止这种覆盖吗

我的index.html文件

        <script type="text/javascript" src="js/ExhaustTemperature.js"></script> // table1
        <script type="text/javascript" src="js/CylinderPressure.js"></script> // table2

        <ul class="list-group">
            <li class="list-group-item"><a href='#' id='list_row1'>Exhaust Temperature</a></li>
            <li class="list-group-item"><a href='#' id='list_row2'>Cylinder Pressure</a></li>
        </ul>

    <div id = "table1">table1</div>
    <div id = "table2">table2</div>
<script>    
           // hide the tables by default when page loads
            $('#table1').hide();
            $('#table2').hide();

            $('#list_row1').on('click',function(event){
                event.preventDefault(); // halt the anchor tag's default behaviour
                $('#table2').hide();
                $('#table1').show();
            });

            $('#list_row2').on('click',function(event){
                event.preventDefault(); // halt the anchor tag's default behaviour
                $('#table1').hide();
                $('#table2').show();
            });
</script>  
//表1
//表2
表1 表2 //默认情况下,页面加载时隐藏表 $(“#表1”).hide(); $(“#表2”).hide(); $(“#列出第1行”)。在('click',函数(事件){ event.preventDefault();//停止锚标记的默认行为 $(“#表2”).hide(); $('#表1').show(); }); $(“#列出第2行”)。在('click',函数(事件){ event.preventDefault();//停止锚标记的默认行为 $(“#表1”).hide(); $('#表2').show(); });
更新:
(以下内容是OP发布的答案——亚历山大·扎克)
以下是排气温度.js的内容

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


window.onload=函数(){
var dps=[];//数据点
var chart=new CanvasJS.chart(“表1”{
标题:{
文本:“实时随机数据”
},          
数据:[{
键入:“行”,
数据点:dps
}]
});
var xVal=0;
var-yVal=100;
var updateInterval=20;
var dataLength=500;//任意点可见的数据点数量
var updateChart=函数(计数){
计数=计数| | 1;
//count是循环运行以生成随机数据点的次数。
对于(var j=0;jdataLength)
{
dps.shift();
}
chart.render();
};
//生成第一组数据点
updateChart(数据长度);
//在指定时间后更新图表。
setInterval(函数(){updateChart()},updateInterval);
}
以下是CylinderPressure.js的内容。

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


window.onload=函数(){
var dps=[];//数据点
var chart=new CanvasJS.chart(“表2”{
标题:{
文本:“实时随机数据”
},          
数据:[{
键入:“行”,
数据点:dps
}]
});
var xVal=0;
var-yVal=100;
var updateInterval=20;
var dataLength=500;//任意点可见的数据点数量
var updateChart=函数(计数){
计数=计数| | 1;
//count是循环运行以生成随机数据点的次数。
对于(var j=0;jdataLength)
{
dps.shift();
}
chart.render();
};
//生成第一组数据点
updateChart(数据长度);
//在指定时间后更新图表。
setInterval(函数(){updateChart()},updateInterval);
}
它们不是“相互覆盖”,而是替换具有相同名称的方法

为避免此问题,请考虑将两个脚本创建为对象。< /P>

//construct the object by running this "constructor" method
function myObjectName() {
    //stuff like default values for this script
    this.myAttribute = "default value";
}

myObjectName.prototype.myFunction1 = function(parameter, list){
    //what to do, when the function is called.
    //access the variables of this object like this:
    alert( this.myAttribute );
}
初始化并构建对象(记住存储全局引用,以便于访问):

现在,像平常一样调用函数,但记住对对象的引用:

myObject.myFunction1("value", "List");

向我们展示包含脚本的内容。使用您提供的代码无法判断发生了什么。另外:重写是什么意思?在没有看到HTML和Javascript代码的情况下,使函数的名称不同,例如:“et_function_One()”和“cp_function_One()”。一个小的优点是你可以更好地识别错误的地方@安齐奥
//construct the object by running this "constructor" method
function myObjectName() {
    //stuff like default values for this script
    this.myAttribute = "default value";
}

myObjectName.prototype.myFunction1 = function(parameter, list){
    //what to do, when the function is called.
    //access the variables of this object like this:
    alert( this.myAttribute );
}
var myObject = new myObjectName();
myObject.myFunction1("value", "List");