草庐IT

表达力

全部标签

javascript - 函数声明比函数表达式快?

varfunctionName=function(){}vsfunctionfunctionName(){}中详细描述了黑白函数声明和函数表达式的区别。在此提到函数声明在解析时求值,函数表达式在执行阶段求值在bytes.com提到函数声明比函数表达式快。我为此创建了一个基本测试用例:http://jsperf.com/function-declaration-vs-function-expression函数声明:functionmyfunc(){alert("yo");}myfunc();函数表达式:varmyfunc=function(){alert("yo");}myfunc();

javascript - Angular Js 将固定的 ng 类与同一标记中的表达式结合起来?

我有一个标签:在另一个类似的项目中我有一个类似的:如何同时应用routeClassName和条件类?我试过了和类似,但会抛出错误。所以我想我的语法不对.... 最佳答案 有两种方法可以做到这一点:首先,让Angular插入值,因为它只是类名字符串,然后使用ngClass作为条件:其次,在您尝试过的语句中使用true:我倾向于第一个选项,因为ngClass是针对基于表达式的条件类。 关于javascript-AngularJs将固定的ng类与同一标记中的表达式结合起来?,我们在StackO

javascript - $watch 中的 Angular 表达式触发两次

当一个简单的比较作为watchExpression传递时,为什么这个$watch会触发两次?$scope.foo=0;//simplecounter$scope.$watch('foo>4',function(){console.log("fooisgreaterthan4:",$scope.foo);});监听器在页面加载时触发,当foo为0时,当foo的值为>超过4。为什么在页面加载时触发监听器?为什么当foo大于4时它不继续触发?我设置了一个简单的plunkr来显示正在发生的事情:http://plnkr.co/edit/ghYRl9?p=preview

javascript - ng-class 中的表达式

我有一个非常简单的Angular应用程序,我正在尝试结合使用ng-repeat和ng-class来重复模板,并根据被绑定(bind)数据的属性之一将不同的类应用于外部div.这在我使用一个简单的...时有效ng-class="message.type"...但不幸的是,我需要将一个字符串连接到消息类型的开头。我试图在这里创建一个JSfiddle...http://jsfiddle.net/XuYGN/5/...但这也是我第一次尝试制作JSfiddle,我一定是做错了什么,因为Angular的东西似乎没有运行。不过,它确实显示了我试图用表达式做什么。我们将不胜感激任何帮助。

javascript - JavaScript 语法中有效的左侧表达式是什么?

好的,我们都知道有效的左侧表达式是什么。有点。*但是,查看theECMA-Scriptstandard中的定义,我很困惑:LeftHandSideExpression:NewExpressionCallExpression这只是定义中的错误,还是我在这里弄错了?我的意思是,这不是真正的意思吗newObject=1;//NewExpressionAssignmentOperatorPrimaryExpressionfunction(){returnfoo;}()=1;//CallExpressionAssignmentOperatorPrimaryExpression应该是有效的赋值表达

javascript - 立即调用函数表达式 (IIFE) 相对于普通函数的优势

我是javascript的新手,我读过关于themodulepattern的文章提供某种namespace并同时具有私有(private)和公共(public)成员,例如:varmodule=(function(){vars="Hello,i'mprivateandinclosure!";return{myString:s,myFunc:function(){alert(s);}};})();我确实看到了它的好处,因为它为您提供了面向对象编程的一些优势。但是我见过很多没有分配给变量的IIFE示例。与您调用的普通函数相比,这(据我所知)没有任何优势:1。国际金融学院(function()

javascript - 方法表达式不是函数类型

我有以下JavaScript文件:/*global$*/functionfoo(){'usestrict';var$tr=$('tabletr'),$td=$tr.children('td');$td.html('HelloWorld');}在PHPStorm中,children带有下划线和弱警告。将鼠标悬停在上面会显示此消息:MethodexpressionisnotofFunctiontype此文件与jquery.min.js(v.1.11.0,如果重要的话)位于同一目录中。我该如何解决这个问题?请注意,上面的示例是一个足以重现问题的极简示例;这不是我的实际代码,但会产生相同的结果

javascript - 为什么要使用 JavaScript 函数声明(和表达式)?

我见过其他人使用以下模式。varbar=functionfoo(){};console.log(bar);//foo()console.log(foo);//ReferenceError:fooisnotdefined但是为什么?如果两者都被宣布,我可以理解这一点,但事实并非如此。原因是什么? 最佳答案 正如其他人所提到的,在您的示例中使用第一种形式(命名函数表达式)有助于调试,尽管随着浏览器中内置开发人员工具的最新改进,这个论点是变得不那么有说服力了。使用命名函数表达式的另一个原因是您可以将函数名称用作函数体内的变量,而不是现在在

javascript - ES6 中命名或未命名类表达式的用途是什么?

在代码中,我使用了一个名为“Car”的类。现在,如果我尝试像varcarNew=newCar("ferrari");那样使用,那么它会向我抛出一个错误。那么命名类表达式在ES6中有什么用呢?'usestrict';varcar=classCar{constructor(model){this.model=model;}}varcarNew=newcar("ferrari");console.log(carNew);//car{model:"ferrari"}console.log(carNew.constructor==car);//true 最佳答案

javascript - 为什么 jshint 提示表达式中的换行符?

当将以下代码传递给jshint时,它认为if条件中的换行符是错误的,并显示“Badlinebreakingbefore'&&'。”if(1==1&&true){console.log("helloworld");}但是,在'&&'之后有换行符是可以的。if(1==1&&true){console.log("helloworld");}为什么jshint认为前者是错的而后者是对的? 最佳答案 根据adiscussiononGitHub:Thismaycauseproblemslikesemicoloninsertionandoldja