为了账号安全,请及时绑定邮箱和手机立即绑定

我的疑问是,应该去修改原型?还是新增函数?它们各有什么优缺点,如何权衡呢?

我的疑问是,应该去修改原型?还是新增函数?它们各有什么优缺点,如何权衡呢?

jeck猫 2023-04-19 18:14:28
举一个没什么意义的例子,比如我想在一个字符串前加上cattail_前缀,那么有以下两种方式。String.prototype.prefix = function() {    return 'cattail_' + this; };或var prefix = function(str) {    return 'cattail_' + str; };
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

JS工程上类似避免冲突的东西还有很多,比如隔离$占用冲突:

(function($) {    ... // 所有代码都在这里})(jQuery);

比如隔离方法名/类名冲突:

// 每一个.js文件开头var Baidu = Baidu || {};Baidu.utils = Baidu.utils || {};Baidu.utils.MyClass = function() { ... };

都是为了解决协作框架/代码冲突问题


查看完整回答
反对 回复 2023-04-22
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

改写原生类型的prototype可能带来浏览器兼容性问题

比如在IE<=8下,HTMLElement的原型就是不可写的,只能用添加函数的方法


查看完整回答
反对 回复 2023-04-22
  • 2 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信