草庐IT

object-call

全部标签

javascript - 为什么使用 .call(this) 而不是括号

这个问题在这里已经有了答案:Reasonbehindthisselfinvokinganonymousfunctionvariant(5个答案)关闭8年前。有没有什么特别的原因让我经常遇到:(function(){console.log("Hello");}).call(this);代替:(function(){console.log("Hello");})();传不传this调用应该是一样的效果吧?似乎有一些性能差异:http://jsperf.com/call-vs-parenthesis.

javascript - 为什么不能使用 .call() 调用 console.log

下面的代码返回一个带有“hello”的弹出窗口。alert.call(this,'hello');但是下面的代码返回错误“TypeError:Illegalinvocation”。console.log.call(this,'hello');alert和console.log的实现有什么区别? 最佳答案 alert是一个全局方法(window.alert)。如果你调用它alert.call(this),this就是窗口对象。因为log是console对象中的一个方法,它期望this是console对象本身,但是你还是用this(wi

javascript - Mongoose - TypeError : object is not a function

我正在尝试将Mongoose模型从我的model/user.model.js文件导出到我的服务器目录中的server.js文件。模型/user.model.jsvarmongoose=require('mongoose');varSchema=mongoose.Schema();varUserSchema=newSchema({instagramId:{type:String,index:true},email:{type:String,unique:true,lowercase:true},password:{type:String,select:false},userName:St

javascript - 在 IIFE 上使用 .call(this)

我见过用.call(this)包裹的IIFE,而不仅仅是()。为什么要这样做?上下文:https://github.com/dmauro/Keypress/blob/development/keypress.js(据我了解,this将引用window对象-无论如何都会调用IIFE。这似乎是多余的。) 最佳答案 如果不使用call调用IIFE,它里面的this会引用全局对象window(或者undefined在严格模式下)。使用.call(this)将传递给它任何this在调用时引用的内容(无论当前上下文是什么)。例如,您想使用.ca

javascript - TypeError : Object(. ..) 不是函数 reactjs

我试图通过将fillCalendar()从组件的方法中提取到它自己的js文件中并导入它来清理这个react组件。最初this.state.datesArray是在componentWillMount()生命周期方法中设置的。现在我试图在构造函数中直接初始化它,因为这就是react文档recommends.现在这样做会抛出“TypeError:Object(...)isnotafunction”错误,我不知道为什么。这是Calendar.js使用的样子seehere.日历.jsimportReact,{Component}from'react';import{fillCalendar}f

javascript - jQuery + 扩展 Object.prototype = "c.replace is not a function"

我在我的开源项目中使用jQuery1.5,我自己的Javascript代码中也出现了以下行:/***Object.isEmpty()**@returns{Boolean}*/Object.prototype.isEmpty=function(){/***@deprecatedSinceJavascript1.8.5*@seehttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object*/if(this.__count__!==undefined){returnthis.__count__===0?

javascript - 如何解决错误 : "undefined is null or not object ie in ext js" in IE?

我认为这是尾随逗号或语法错误、未声明使用变量的原因。我的js字段是1000行od代码。由于错误没有向我提供行号。它变得难以调试。请帮助我调试IE的技术。该脚本适用于Firefox、Safari。 最佳答案 我会jslint文件。这会发现问题以及您可能遇到的任何其他问题。您可以将其作为commandlineutilityvianode运行. 关于javascript-如何解决错误:"undefinedisnullornotobjectieinextjs"inIE?,我们在StackOver

JavaScript 函数语法说明 : function object. myFunction(){..}

我会认为自己相当有能力使用JavaScript,并且熟悉实现同一件事的许多不同方法。但是今天我遇到了一些以前从未见过的函数语法:functiondocument.body.onload(){alert('loaded');}如果我要编写这样的代码,我会这样做:document.body.onload=function(){alert('loaded');}忽略这不是处理onload事件的最佳方式这一事实,这实际上是有效的JavaScript吗?它似乎会导致FireFox(和JSLint)出现语法错误,所以我猜它是InternetExplorer的唯一语法?如果它只是IE,那么我想删除它

javascript - 未捕获的类型错误 : Cannot call method 'replace' of undefined underscore. js

我是backbone.js和underscore.js的新手。HTML:我调用View文件的地方:JS函数(与javascript项目配合良好):functionCart(){......this.showCart=function(){varitem=deserializeJSONToObj(window.localStorage.getItem(Cart.storageName));varstr='';str+='ItemtobuyQuantity';$.each(item,function(i,item){str+=''+trimString(item.Name,50)+'Ava

javascript - 为什么 Object() != Object() 在 JavaScript 中?

这个问题在这里已经有了答案:Comparingobjectsin JavaScript(10个答案)关闭8年前。所以问题是两个相同的对象在JavaScript中是不相等的,比方说:Object()==Object()甚至:[{a:1},{a:2}].indexOf({a:1});//returns-1notfound这种奇怪行为的原因是什么?