为什么旧版浏览器不支持JavaScript中的某些内置方法?
例如:Array fill()方法:(浏览器支持:chrome [v.45],IE [v.12.0],Opera [v.32.0]等)
出于好奇,我决定"重新发明轮子"并重新创建上述方法:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
Array.prototype.myFunction = function (staticValue, start, end) {
for(var i = 0; i< this.length; i++) {
if(i===start) {
for(start= i; i<end+1; i++) {
this[i] = staticValue;
};
};
if(start == undefined && end == undefined) {
this[i] = staticValue;
};
};
};
var testFruits = ["Banana", "Orange", "Apple", "Mango", 456, 48999, "power"];
var cars = ["Saab", "Volvo", "BMW"];
testFruits.myFunction("Kiwi", 1, 3);
cars.myFunction("Voom!");
document.getElementById("demo").innerHTML =
testFruits + "<br />" + "<br />" +cars;
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是否意味着通过重新创建一些新的但支持不足的内置方法可以使旧代码完全支持您的代码?
我的理论是肯定的,考虑到我只使用常规函数和常用技术来提出解决方案.