草庐IT

send_this_email

全部标签

javascript - `this`指的是什么?

我有一个JavaScript类:functionPerson(n){//...}在类之外,我有以下代码:Person.prototype.shower=function(){this.dirtFactor=2}上面代码中的this指的是什么?它指的是prototype还是Person类? 最佳答案 this的含义取决于您如何调用函数,而不是您如何定义它。假设你做了类似的事情:varbob=newPerson('whatevernis');bob.shower();然后this将是bob(这将是Person的一个实例)。

javascript - 为什么将函数参数作为字符串或引用传递时 `this` 会发生变化?

看看这个:vara={b:function(){console.log(this);}}//Example1a.b();//a//Example2eval('a.b()');//a//Example3setTimeout('a.b()',100);//a//Example4setTimeout(a.b,100);//Window//Example5varc=a.b;c();//WindowjsFiddle.假设预期结果是我预期的...示例1当调用b()时,Object的属性,this成为属性的Object,这里它是父a。它产生了预期的结果。例子2eval()旨在采用其调用位置的执行上下

javascript - TypeError : this. $E_0.getElementsByTagName 不是函数

我正尝试在Sharepoint2010中创建模式对话框,但出现此错误:TypeError:this.$E_0.getElementsByTagNameisnotafunction我的代码是:varoptions=SP.UI.$create_DialogOptions();options.html='<divclass="ExternalClass23FFBC76391C4EA5A86FC05D3D9A1904"><p>RedConnectisnowavailable.​</p></div>';options.width

javascript - 单个文件组件 vue js 上的属性 this.$el undefined

我正在尝试使用laravelmix和vuejs创建一个全局组件,但是在访问属性this.$el时它是未定义的。这是我的组件文件:日期选择器.vueexportdefault{props:['myclass','name','placeholder','value'],data(){return{}},created(){console.log("this.$el",this.$el);//undefinedconsole.log("this",this);//$elisdefinedvarvm=this;varoptions={"locale":"es","onChange":func

javascript - .bind(this) 是按引用传递还是按值传递?

我在某处创建了一个函数并将它绑定(bind)到this以便我可以使用父block的this的含义作为this的值>在函数内。例如:varfoo=function(){//somestuffinvolvingotherstuff}.bind(this);我作为参数传递给bind的this是按引用还是按值传递的?因此,如果稍后在外部代码块中更改this对象的参数,然后调用foo,foo将使用this在我调用bind时的值,或者在我调用foo时的值? 最佳答案 SoifIchangetheparametersofthethisobject

javascript - undefined 不是函数(计算 '_this._registerEvents()' )

在我删除我的src文件夹以重构此错误后。我相信这是一个缓存问题?我试着按照这个gist但没有运气。"react":"16.4.1","react-native":"0.56.1","@babel/core":"^7.1.2","presets":["react-native"]`importReact,{Component}from'react';import{Platform,Text,View}from'react-native';import{Provider}from'react-redux';import{store}from'./src/redux/store';expor

javascript - 为什么这样 "this.foo = new (function () {..})();"与 "this.foo = function (){...};"

两者在函数定义和赋值上有什么区别吗?this.foo=new(function(){..})();对比this.foo=function(){...}; 最佳答案 在第一个示例中,它正在创建一个函数并执行它,将结果分配给this.foo。在第二个示例中,它正在创建函数并将函数本身分配给this.foo。 关于javascript-为什么这样"this.foo=new(function(){..})();"与"this.foo=function(){...};",我们在StackOverf

javascript - 如何在我的对象范围之外调用 'this'?

我为网站开发了某种Jcrop初始化程序,我设法创建了自己的命名空间。我的问题是关于this关键字。每次我必须在任何回调函数中访问我的基础对象“aps”时,我必须将this包装在一个变量中(我选择了单词that).有没有更好的方法呢?例如,我可以使用call或apply方法吗?这只是一个命名空间,因此我可以使用简单的aps.methodName但为了这个示例,请不要介意。这是我的源代码:varaps;$(function(){aps=function(){//private//variablesvarbgColor='#f5f5f5';varthreshold=370;varthresh

javascript - 什么触发 "Internet Explorer has modified this page to help prevent cross-site scripting."?

我正在尝试针对InternetExplorer中缺少的CORS功能实现解决方法。对于GET请求我使用JSONP,这里没问题。对于小型POST/DELETE/PUT请求,我还通过GET隧道化请求来使用JSONP,但这不适用于较大的请求(因为GETURL的长度是有限的)。因此,对于大数据,我尝试通过iframe实现表单POST。由于同源策略,我无法读取此POST的响应,因此我在发布数据后通过JSONPGET请求获取响应。效果很好,但有时我会在IE9中收到奇怪的警告:InternetExplorerhasmodifiedthispagetohelppreventcross-sitescrip

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 最佳答