- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个像这样的小型 javascript 插件:
function TextShadow(host){
this.host_id=host;
this.welcome=function(){alert('welcome to earth')};
$(function(){
this.welcome();
$(this.host_id).html("<p>hello world</p>");
});
}
然后我从另一个脚本调用它,如下所示:
var test=new TextShadow("#sample");
但我知道 this.welcome 不是函数。但是,如果我将之前的代码更改为以下代码,一切正常:
function TextShadow(host){
this.host_id=host;
this.welcome=function(){alert('welcome to earth')};
var gen=this;
$(function(){
gen.welcome();
$(gen.host_id).html("<p>hello world</p>");
});
}
有人能解释一下为什么第一段代码不起作用而第二段代码起作用吗?
最佳答案
因为作用域在 JavaScript 函数中发生了变化。您可以绑定(bind)
函数以将this
设置为所需的值。
function TextShadow(host){
this.host_id=host;
this.welcome=function(){alert('welcome to earth')};
$(function(){
this.welcome();
$(this.host_id).html("<p>hello world</p>");
}.bind(this));
}
它在 ES6 中更干净,您可以使用 arrow functions :
$(() => {
this.welcome();
$(this.host_id).html("<p>hello world</p>");
});
关于javascript - this.welcome() 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35680552/
根据 here我已经实现了一个 IIntroAction,它将从介绍页面在 Eclipse 中打开一个透视图(我的操作几乎完全相同)。 我的与那里显示的有点不同,但本质上它被调用(作为 url)如下:
welcome to nginx,欢迎来到 nginx 的世界,如果你是一个专业网站建设人员你可能接触最多的就是阿帕奇apache,现在更多的网站建设人员都开始使用 LINUX 服务器,那么 LIN
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在尝试创建一个像这样的小型 javascript 插件: function TextShadow(host){ this.host_id=host; this.welcome=fu
任务是根据所选语言打印一条问候消息。我得到了一个对象文字。例如,如果用户选择“dutch”,程序将打印“Welkom”等。如果未找到语言,程序应打印默认语言,即英语。我已经能够解决大部分问题,除了一件
若凌° Provence - wirepuller 阴谋者 。 交换末日- Brave Hold on Welcome to my life 匪我思存 · L⊙ve/
我正在使用 Cent OS 6.1。 我通过 ./configure 方法从源代码安装了 Nginx。我通过 sudo nginx 启动了 nginx 服务器它可以提供 Welcome to Ngin
我试图将 jQuery 方法添加到保存字符串的变量中,但它不起作用。它的目的是逐个字母地淡入淡出,我知道我可以通过选择节点来做到这一点,因此它是一个对象,但我尝试从变量中做到这一点。如果有人可以帮我找
Project Structure pom.xml 4.0.0 spring-boot-web-thymeleaf jar Spring Boot Web Thymeleaf Example Sp
我正在调试一个简单的(Docker)代理服务器,据我所知,该服务器没有“默认网站”或类似的网站。我认为它正在从上游获取302响应,但我还不知道为什么。但是有趣的是,我得到了“欢迎使用Nginx!”即使
不确定最初的“欢迎来到 Meteor”页面是如何重新出现在我正在从事的项目上的,但这种情况是否发生在其他人身上?尝试通过 Meteor 进行测试,一切都很好。我让 Meteor 服务器运行了一整夜,今
我对 Gamecenter 有疑问。其实我不知道这是否真的是个问题。 在对我的 localPlayer 进行身份验证后,“欢迎”横幅没有出现。这是为什么?这是有问题的迹象吗? 我使用 Swift 和带
好的,我有一个视频可以在我的 iPhone 应用程序启动时播放。我怎样才能将其实现到我的 Xcode 项目中? 我希望它在应用程序加载后立即加载,并在播放后跟随我的主要编程所在的正确 View Con
我试图在 flutter 中调用 API,但是当我定义变量 _Welcome 时,我收到了这个错误。有谁知道如何修复它? class _PostsPageState extends State { F
每次我打开 mapbox map (付费计划)时,都会有一个“欢迎使用 mapbox”标记。如何禁用/隐藏它? 这是我创建 map 的代码: var map = L.mapbox.map('map',
我以为我已经在我一直在尝试设置的 VM 机器上启动并运行了 Symfony。但是,按照此链接上的说明进行操作后: http://symfony.com/doc/current/book/install
我正在开发一个集成位图裁剪的小项目,但预期的结果并不在这里。 示例 firemonkey 项目有一个加载了图片的 TImage。我正在绘制一个矩形来选择应该“提取”哪种位图部分。这是得到的结果: 所以
我想知道,是否可以在某处找到用于创建 eclipse“欢迎”页面上显示的按钮的代码。 当您在 eclipse 中创建一个新的工作区时,最开始会显示一个“欢迎”页面。该页面显示不同类型的按钮,例如“新功
我正在使用“Discord.JS”为 Discord 制作一个机器人我正在尝试发送介绍消息,但收到错误消息“无法读取未定义的属性‘sendMessage’” 我的欢迎信息代码: var bot = n
所以我从 W3Cschools 借用了代码(以防它看起来很熟悉),然后开始根据我的需要对其进行修改。基本上,我有一个默认的 H1 header “欢迎来到我的沙箱”。有一个将用户名保存到 cookie
我是一名优秀的程序员,十分优秀!