十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
扩展javascript内置对象不是好的做法,在公司项目里面,是严禁这种行为的。
成都创新互联公司专注于企业成都全网营销、网站重做改版、蓬莱网站定制设计、自适应品牌网站建设、H5页面制作、成都商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为蓬莱等各大城市提供网站开发制作服务。
如果每个Javascript文件都胡乱扩展内置对象,容易导致冲突等问题。
还有一点,“如果哪一天浏览器或javascript本身就会实现这个方法,而且和你扩展的实现有不一致的表现。到时候你的javascript代码可能已经在无数个页面中执行了数年,而浏览器的实现导致所有使用扩展原型的代码都崩溃了。。。”
如果觉得答案合理,请采纳;若不合理,请追问。
getElementsbytagName不是什么构造函数,而且返回的是一个Object
(用constructor属性得到的)
所以each应该是绑定在Object.prototype里才是
但是javascript里所有对象都是Object的实例
一般来说,业界公认的是持后一种观点,不过如果你觉得你的代码是可控的话,扩展内置对象的prototype是很方便的一种方式(prototype库中大量使用了这种手段),尤其是扩展后以原对象实例为this上下文调用,api比较美观直接,否则的话,把对象实例作为参数传给方法,看起来就不那么“面向对象”了,当然,这个问题可以通过给原对象封装一层wrap来解决,比如jquery的包装,可以在$实例化的dom对象上调用方法,并且可以链式调用。
另外一点,如果你扩展了内置对象的prototype,那么在遍历对象属性的时候要小心了,有些可能不是你想要的,可以通过hasOwnProperty过滤一下
.js文件是JavaScript语言文件的扩展名。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。JavaScript已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。它是世界上最流行的脚本语言,在电脑、手机、平板上浏览的网页,以及基于HTML5的手机App,交互逻辑都是由JavaScript驱动的。
扩展资料:
javascript脚本语言的主要特点:
1、解释性:javascript是一种解释语言,源代码不需要经过编译,直接在浏览器上运行时被解释。
2、基于对象:javascript是一种基于对象的语言,能运用自己已经创建了的对象,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
3、事件驱动:JavaScript可以直接对用户或客户输入做出响应,无需经过web服务程序。他对用户的响应,是以事件驱动的方式进行的,所谓事件驱动,指的是在主页执行了某种操作所产生的动作,此动作称为“事件”。
4、跨平台:JavaScript依赖于浏览器本身,与操作环境无关。只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。
5、安全性:JavaScript是一种安全性语言。它不允许访问本地的磁盘,并不能将数据存入服务器上;不允许对网络文本进行修改和删除,只能通过浏览器实现信息浏览或动态交互。可有效的防止数据丢失。
参考资料:百度百科-JavaScript
相信不是script标签写法的原因(虽然最好加上type="text/javascript"),而是你的js代码没有兼容火狐浏览器(比如用到了一些ie特有的特性)。 所以最好是能把具体代码或者可以测试的页面地址发上来给大家看看。 又或者在firefox下装个firebug工具
资料来源网络:
Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};
var add = function(a, b) {
return a-b;
};
Function.method('subtract', add);
var f = function() {};
console.log(String.subtract(1,2));
Number.method('integer', function () {
return Math[this 0 ? 'ceil' : 'floor'](this);
});
console.log((-10/3).integer());
求个采纳!!!