草庐IT

in_this_iter

全部标签

十分钟 Javascript : What is going on in this example code illustrating lazy scoping?

我一直在重读SpencerTipping的优秀作品JavascriptinTenMinutes在这个使用惰性作用域创建语法宏的示例中,我终究无法弄清楚发生了什么:varf=function(){return$0+$1};varg=eval(f.toString().replace(/\$(\d+)/g,function(_,digits){return'arguments['+digits+']'}));g(5,6);//=>11(exceptonIE)特别是,$0和$1正在被一个函数定义取代——那个函数是如何被计算的?(大概是通过eval(),但我没有看到)。函数中单个下划线参数的用

javascript - "this"的范围

我有一个简单的对象,我不明白this的概念(作用域)是通过调用这个对象的函数来实现的。为什么在最后一个变体(3)中调用show()(使用函数show()insideobjectwithoutparent)结果是“Thisisglobal”并且不是内部变量title("ColorPicker")?我有一个模糊的想法,即在定义全局变量show之后调用函数popup.show(),this指的是全局对象。这是逻辑解释吗?代码:http://jsbin.com/otuzac/1/edit.vartitle="'This'isglobal";varpopup={dom_element:("#po

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

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

c# - 如何从代码后面隐藏和显示 asp :buttons in asp.net?

我正在开发asp.net网络应用程序。在一页中我有两个asp按钮。我想在一种情况下显示它们,否则我不想显示它们。所以我正在尝试这样做。但它不起作用。我找不到背后的原因。请告诉我问题出在哪里。隐藏按钮if(!IsPostBack){ButtonReplaceId.Style.Add("display","none");ButtonAssociateRules.Style.Add("display","none");}显示按钮protectedvoidApplyAssociation(objectsender,EventArgse){//Somepieceofcodeif(a==0){Bu

c# - 如何使用 <asp :scriptreference> in asp.net 4.5 包含最新的 Jquery?

我想在我的网络应用程序中包含最新的jquery。默认情况下jquery1.7.1正在加载。我知道以下代码对此负责。但是我应该怎么做才能加载jquery1.10? 最佳答案 为此,您必须创建自己的JS包,它通常位于Global.asax或App_Start/BundleConfig.cs中您必须在其中添加类似下面的内容,根据版本进行更改,因此可能略有不同。ScriptManager.ScriptResourceMapping.AddDefinition("jquery",newScriptResourceDefinition{Path

javascript - 使用空主体 for-in 循环将对象属性复制到数组

`我正在阅读“JavaScript:权威指南”,我被一个例子迷住了:“您可以使用如下代码将所有对象属性的名称复制到一个数组中”varo={x:1,y:2,z:3};vara=[],i=0;for(a[i++]ino)/*empty*/;我不明白,为什么最后一行在没有说明的情况下真的做了任何事情。为什么会填满数组? 最佳答案 这是有效的,因为for循环将o中的值分配给in左侧的变量。通常这是用于某些函数的新变量。例如for(varaino){/*用*做一些事情在这种情况下,它将它分配给a[i++]其中i++每次增加1还值得指出;inf

javascript - 如何从 promise 方法内部访问 Angular js Controller 的 "this"?

我有一个简单的AngularjsController,如下所示发出XHR请求app.controller('MainController',['$http',function($http){this.php_response={};varpromise=$http.get('process.php');promise.then(function(success_data){//Idontthink"this"istalkingtothecontrollerthisanymore?this.php_response=success_data;},function(error){conso

javascript - 属性检测 : Using 'in' versus trying to access property

不得不提:我知道一点JavaScript,但我不是很深入。一直认为这是检查对象上的属性是否可用的正确方法:if(window.console){//doSomething}昨天我看到了使用这种技术的代码:if('console'inwindow){//doSomething}这两种技术是否等同?还是他们有区别? 最佳答案 没有。他们有区别。第一个检查window.console的值是否为Truthy,第二个检查window中是否存在console属性。假设您创建了一个这样的变量。window.myName="";现在,if(wind

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 - 如何解决错误 : "undefined is null or not object ie in ext js" in IE?

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