草庐IT

this_file

全部标签

Javascript 'this'

你能解释一下为什么第二次调用fn会出错吗?代码如下。functionTest(n){this.test=n;varbob=function(n){this.test=n;};this.fn=function(n){bob(n);console.log(this.test);};}vartest=newTest(5);test.fn(1);//returns5test.fn(2);//returnsTypeError:'undefined'isnotafunction这是一个重现错误http://jsfiddle.net/KjkQ2/的JSfiddle 最佳答

javascript - Node.js Q promise ,可以使用 this() 为什么要使用 defer()?

我想做这样的事情:somePromiseFunc(value1).then(function(value2,callback){//insertthenextthen()intothisfunction:funcWithCallback(callback);}).then(function(dronesYouAreLookingFor){//Haveaparty}).done();它没有用。我无法让它工作。我被建议为此目的使用defer()。他们的owndocs说我们应该将deferreds用于回调式函数。虽然这令人困惑,因为他们著名的压平金字塔示例都是关于回调的,但是这个示例太抽象了

javascript - 使用 event.target.id 从 bind(this) 获取 id 时意外使用 'event' no-restricted-globals

此代码适用于Codepen:参见https://codepen.io/pkshreeman/pen/YQNPKB?editors=0010然而,我试图在我自己的“create-react-app”中使用它,并且“no-restricted-globals”的错误是由event.target.id触发的。有什么解决方法。除了使用事件目标之外,您如何从“this”中获取id?constElem=(props)=>{return(GoodMorning!{props.name}{props.last}Thisisphasethree{props.text}SecondButton);};cl

javascript - 我的 'this' 在哪里?使用对象方法作为回调函数

我有一个关于javascript规范或函数指针(委托(delegate)?)实现的一般性问题,它们指向对象方法。请阅读以下代码片段。这里我们有一个对象,其方法使用“this”来访问对象字段。当我们像往常一样调用此方法时(o.method();),返回对象指定字段的值。但是当我们创建指向此方法(回调)的指针并调用它时,返回一个未定义的值,因为方法范围内的“this”现在是全局对象。varo={field:'value',method:function(){returnthis.field;}};o.method();//returns'value'varcallback=o.method

javascript - 我什么时候应该使用 `this.x` 与 `var x` ?

在创建JavaScript类函数时,我使用了this。很多。但是在使用它时,我想知道使用var是否会有所不同。varMyClass=function(){this.x=4;return{getVal:this.x};}与var的使用对比:varMyClass=function(){varx=4;return{getVal:x};}有什么区别,什么时候应该使用哪个?同样的问题适用于class语法:classMyClass{constructor(){constx=4;}}对比classMyClass{constructor(){this.x=4;}} 最佳答案

javascript - 我可以在表单输入 [type ="file"] 中通过单击触发双击吗?

我有一个表单input用于提交文件,我对它进行了样式设置,因为我不喜欢原生样式。现在,我只有一个按钮,单击它会打开选​​择文件的对话框。在Firefox和Chrome上单击即可正常工作,但在IE中不起作用。按钮需要双击才能在IE中打开对话框。我尝试使用jQuery通过单击触发双击:$("input").click(function(){$(this).dblclick();});不过,好像不行。有没有其他方法可以触发IE的双击?这是演示:http://jsfiddle.net/HAaFb/ 最佳答案 像这样的事情怎么样:varcou

javascript - 语法错误 : Unexpected end of input error using Gulp and main-bower-files package

在尝试将主要的Bower文件注入(inject)我的构建文件夹index.html时,我总是遇到错误我正在使用main-bower-filesNPMpackage.我的代码是这样的://requiresvargulp=require('gulp');varinject=require('gulp-inject');varconfig=require('./gulp-config');varmainBowerFiles=require('main-bower-files');gulp.task('default',['move'],function(){returngulp.src(co

javascript - 仅允许 angular-file-upload 模块中的特定文件扩展名可点击

我正在使用这个模块,https://github.com/nervgh/angular-file-upload我正在使用他们的简单示例,http://nervgh.github.io/pages/angular-file-upload/examples/simple/当您单击“选择文件”按钮时,它会打开一个窗口,让我们可以选择要上传的文件。我想要发生的是只允许单击特定的文件扩展名。是否有未记录的配置可以做到这一点?例如,在配置中,我们只允许.txt扩展名,当我点击“选择文件”按钮时,它会打开一个窗口并显示所有文件。但是,没有扩展名.txt的文件将被禁用。我这样做不是出于安全目的。我只是

javascript - 如何忽略 Webpack 的 "Seems to be a pre-built javascript file...Try to require the original source to get better results."?

Webpack发出警告:“这似乎是一个预构建的javascript文件。虽然这是可能的,但不推荐这样做。尝试要求原始源以获得更好的结果。”但是,我包含的这个库是有意预构建的,因此使用应用程序不需要复制其构建步骤和配置。如何忽略此警告? 最佳答案 通过将预构建模块的路径添加到模块下的webpack配置中来解决此问题:module:{//...noParse:['/node_modules/prebuiltlib/dist/build.js',]//...}这有一个额外的好处,就是构建时间稍微快一些。

javascript - 为什么 (function() { return this; }).call ('string literal' ) 返回 [String : 'string literal' ] instead of 'string literal' ?

这是我在试验JS时的最新发现:(function(){returnthis;}).call('stringliteral');//=>[String:'stringliteral']inV8//=>String{"stringliteral"}inFF我在执行以下操作时偶然发现了这一点:(function(){returnthis==='stringliteral';}).call('stringliteral');//=>false谁能告诉我为什么函数内部的this不是作为第一个参数传递给call的正是?编辑1Whatisthedifferencebetweenstringprimi