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

举一个没什么意义的例子,比如我想在一个字符串前加上cattail_前缀,那么有以下两种方式。

String.prototype.prefix = function() {    return 'cattail_' + this;
};

var prefix = function(str) {    return 'cattail_' + str;
};


jeck猫
浏览 86回答 2
2回答

函数式编程

JS工程上类似避免冲突的东西还有很多,比如隔离$占用冲突:(function($) {    ... // 所有代码都在这里})(jQuery);比如隔离方法名/类名冲突:// 每一个.js文件开头var Baidu = Baidu || {};Baidu.utils = Baidu.utils || {};Baidu.utils.MyClass = function() { ... };都是为了解决协作框架/代码冲突问题

犯罪嫌疑人X

改写原生类型的prototype可能带来浏览器兼容性问题比如在IE<=8下,HTMLElement的原型就是不可写的,只能用添加函数的方法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript