草庐IT

the_object

全部标签

javascript - 对象内的 XMLHttpRequest : how to keep the reference to "this"

我从javascript对象内部进行一些Ajax调用。:myObject.prototye={ajax:function(){this.foo=1;varreq=newXMLHttpRequest();req.open('GET',url,true);req.onreadystatechange=function(aEvt){if(req.readyState==4){if(req.status==200){alert(this.foo);//referencetothisislost}}}};在onreadystatechange函数中,this不再引用主对象,所以我无权访问this

javascript - 为什么是 Object.defineProperty() 而不是 this.defineProperty() (对于对象)?

我正在做一个JavaScript项目,只是想知道为什么对象实例不继承defineProperty()和其他方法,而不必调用父类(superclass)(superobject?)对象方法。我看过MDNdocs,并且实际上存在“非标准”属性方法。但那些已被弃用。为什么要移动到Object方法?在我看来,instance.defineProperty(...)比Object.defineProperty(instance,...)更好。我也会对其他一些对象方法说同样的话。 最佳答案 这是为了避免冲突——一般来说,对象不具有您期望的属性的

javascript - Underscore.js _.isObject = function (obj) { return obj === Object(obj); };

当我们查看Underscore.js源码时,我们可以看到如下内容:_.isObject=function(obj){returnobj===Object(obj);};我知道它有效。但为什么不用这个:_.isObject=function(obj){returntypeofobj==="object";};? 最佳答案 不同之处在于棘手的值null。typeofnull返回'object',这显然很令人困惑,而不是想要的结果。但是,将对象构造函数与null一起使用会导致创建新对象(参见MDN)。这意味着您可以区分对象和null,这是

返回对象的javascript函数返回[object Object]

我的函数的预期输出是{"name":"bob","number":1},但它返回[objectObject]。我怎样才能达到预期的输出?functionmyfunc(){return{"name":"bob","number":1};}myfunc(); 最佳答案 哈哈这似乎是一个简单的误会。您正在返回对象,但是对象的toString()方法是[objectObject]并且它被freecodecamp控制台隐式调用。Object.prototype.toString()varo={};//oisanObjecto.toString

javascript - "Assertion failed: you need to wait for the runtime to be ready"在JavaScript中调用C函数时出错

我正在尝试一个简单的示例来调用使用JavaScript编译为.wasm的C函数。这是counter.c文件:#includeintcounter=100;EMSCRIPTEN_KEEPALIVEintcount(){counter+=1;returncounter;}我使用emcccounter.c-sWASM=1-ocounter.js编译了它。我的main.jsJavaScript文件:constcount=Module.cwrap('count','number');console.log(count());我的index.html文件只加载正文中的两个.js文件,没有别的:我得

javascript - 无论如何在 Visual Studio 智能感知中定义一个 undefined object ?

假设我在AngularJS中有一个Controller:myApp.controller('SearchController',function($scope,UserService){//forintellisense,UserServiceisundefinedherevaruser=UserService.getUsers().then(function(data){//yadayada},function(err){//yadayada});});但是,在我的intellisense文件中,我可以动态注入(inject)UserService来获取它的功能,如下所示:intel

javascript - JQuery JavaScript 设计 : Self Executing Function or Object Literal?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我很好奇在构造封装代码块时是否有任何与JQuery相关的最佳实践。通常,当我构建一个页面时,我喜欢将该页面中使用的函数封装在一个对象中。这允许我在构建应用程序时进行一些封装。没有什么比看到带有一堆这样的JavaScript文件更让我讨厌的了functiondoSomethingOnlyRelevantOnThisPage(){//dosomestuff}这会导致设计困惑,并且没有很好地封装

object - 编写一个 javascript 库

我想写一个JS库,然后这样处理:varc1=Module.Class();c1.init();varc1=Module.Class();c2.init();当然,c1和c2不能共享相同的变量。我想我知道如何处理对象,它是:varModule={Class={init=function(){...}}}但问题是如果我这样写,我不能有多个Class实例。所以我试图通过功能实现相同的目标,但我认为我做的不对。(function(){varModule;window.Module=Module={};functionClass(i){//Howcan"this"refertoClassinst

javascript - 从没有页眉和页脚的 javascript 打印 : state of the art?

当我使用javascript打印内容时,浏览器会自动添加页眉和页脚(url/date/pagenr)。目前似乎没有办法从webapp端抑制这一点。Css3最终可能会成为它的解决方案(例如使用@page,@top-leftstyles),但目前似乎在这里不起作用(winvistachrome17.0.942.0/firefox9.0).它应该什么时候出现在浏览器中?chrome-browser可能会出现另一种解决方案:在以上版本中,printdlg不是模态system-printdlg,而是在网站内呈现(还有一个禁用页眉和页脚的复选框)。既然chrome重做了printdlg,chrom

javascript - knockout validation : how to validate the fields on button click, 不在输入更改时

我正在使用以下knockoutvalidation插件:https://github.com/Knockout-Contrib/Knockout-Validation我想在单击“提交”按钮时验证我的字段,而不是每次更改输入值时。我该怎么做?Javascript:ko.validation.init({insertMessages:false,messagesOnModified:false,decorateElement:true,errorElementClass:'wrong-field'},true);varviewModel={firstName:ko.observable()