如何使用纯javascript正确构造对象?
我正在学习更好的JavaScript。现在,我正在尝试制作一个对象,用于处理字符串。只是为了学习的乐趣 我试着在谷歌上搜索正确的方法,或者更喜欢的方法,但是似乎找不到一个关于如何启动对象的好的、可靠的教程 我试过类似的方法:如何使用纯javascript正确构造对象?,javascript,oop,object,Javascript,Oop,Object,我正在学习更好的JavaScript。现在,我正在尝试制作一个对象,用于处理字符串。只是为了学习的乐趣 我试着在谷歌上搜索正确的方法,或者更喜欢的方法,但是似乎找不到一个关于如何启动对象的好的、可靠的教程 我试过类似的方法: (function(StringHelper, undefined) { 'use strict'; StringHelper.isString = function() { // Do stuff }; StringHe
(function(StringHelper, undefined) {
'use strict';
StringHelper.isString = function() {
// Do stuff
};
StringHelper.toLowercase = function() {
// Do stuff
};
StringHelper.toUppercase = function() {
// Do stuff
};
}());
}(window.StringHelper = window.StringHelper || {}));
();
我从中得到了这一点,我不确定它的真正含义(操作方式),比如最后一部分window.StringHelper=window.StringHelper | | do
这是构造简单JavaScript的好方法吗?它是否以一种良好的方式为他人和我自己重复使用
谢谢 window.StringHelper=window.StringHelper | |{}用作名称空间,这意味着如果window.StringHelper已经声明,那么它将不会重新声明(部分|{}),否则它将声明window.StringHelper(window.StringHelper | |部分)作为名称空间
为了更好地学习javascript,这是一个很好的资源。您的问题非常开放。没有一种规范的方法来实例化javaScript对象,就像在其他语言中,创建对象的唯一方法是创建构造函数一样 本质上,您可以使用构造函数、使用或返回。然而,即使这些是在基本层次上直接创建对象的仅有两种方法,也有几种创建对象的策略,如和。许多策略依赖于只创建空对象,然后添加函数和属性来装饰它们 虽然大多数标准浏览器和节点API都公开了构造函数,但有很多开发人员认为javaScript中的构造函数——以及隐含的
this
关键字——是邪恶的(只是谷歌的“javaScript新有害”)
关于您粘贴的代码,正如@Mayank所说,所有这些代码都是关于在casewindow.StringHelper
中创建一个新对象,或者在它仍然存在的情况下为它定义一些函数。然而,它非常复杂,根本不是处理对象创建的最直接的方法
因此,创建对象的标准构造函数方法是:
var Dancer = function(name){
this.name = name;
}
Dancer.prototype.greet = function(){
return 'Hi! I\'m ' + this.name;
}
一种通过关闭来实现的方法——允许隐私——是:
function createDancer(name){
var module = {};
module.greet = function(){
return 'Hi! I\'m ' + name;
};
return module;
}
然而,javaScript中确实有很多处理对象创建的策略,每个人都有自己的优点和注意事项
解释了一个简单但功能强大的模式来创建对象并重用它们,避免了javaScript中new
和this
关键字的常见陷阱
关于javaScript中对象创建的另一个有趣资源是。这甚至不是有效的javaScript。倒数第二行有一个意外的
}
字符…谢谢你的回答。好的,这很有道理。这种书写对象的方式是一种好方法吗?上衣是干什么的?“(函数(StringHelper,未定义){”?在原始代码的底部还有一个$和JQuery,我想这是为了JQuery支持?