草庐IT

表达沟通

全部标签

javascript - 这个表达式是什么意思 "!!"

为什么有人会用这样的表达方式if(!!window.JSON)alert('exists');不仅仅是if(window.JSON)alert('exists');?“!!”还有其他用法吗?事情? 最佳答案 !!只会导致bool值转换,完全没有必要将此结构与if语句一起使用,也在您的第一个代码段中,转换bool值的对象没有意义,它将始终为真。唯一可以强制为false的值是null、undefined、NaN、0和空字符串,当然还有false任何其他内容都会强制转换为true。什么时候使用!!是您想要确保获得bool结果的时候,例如当

javascript - 这是什么 JS 语法?表达式赋值? (x != null && (y = x))

我正在使用这个JS插件,我遇到了一些我以前从未见过的语法。我明白它在做什么,但我不确定它为什么会起作用。这是它的一个例子:settings.maxId!=null&&(params.max_id=settings.maxId);这只是利用了条件语句和单个=吗?这是JS的通用语法吗? 最佳答案 在JavaScript中,=运算符是一个表达式,用于计算分配的值。因为它是一个表达式,所以它可以在任何允许表达式的地方使用,即使它会导致副作用。因此:settings.maxId!=null&&(params.max_id=settings.m

javascript - jQuery JSON 错误 : Syntax error, 无法识别的表达式

这是我第一次使用JSON,所以我可能正在做一些非常愚蠢的事情。我构建了一个应用程序来抓取页面并返回一个JSON对象。我返回的JSON看起来像这样(以Facebook为例):{"urlTitle":"WelcometoFacebook\u2014Login,signuporlearnmore","urlDescription":"Facebookisasocialutilitythatconnectspeoplewithfriendsandotherswhowork,studyandlivearoundthem.PeopleuseFacebooktokeepupwithfriends,u

javascript - 从指令中观察表达式

基本上,我如何从指令中监听表达式的变化?我正在使用未记录的ng-required有条件地要求某个字段:效果很好(here'sthePlunkr)。唯一的问题是它保留了placeholder“必需”文本,而不管它是否真的需要。因此,我决定创建自己的指令。它应该是这样工作的:思路和angular的ng-class类似,但是我不知道怎么实现。到目前为止,这是我得到的:app.directive('ngPlaceholder',function($parse){return{restrict:'A',link:function(scope,element,attrs){console.log(

javascript - AngularJS 中 bool 表达式的评估

我正在测试ng-show和AngularJS表达式,但我发现了一些我无法理解的东西。我创建了一个变量displayed并为其分配了一个字符串'false'(不是bool值)。表达式displayed&&true被评估为true,第二个div显示没有问题(因为字符串和true应该是true)。我知道Angular表达式和JavaScript表达式之间存在一些差异,但是我不知道为什么不显示第一个div;似乎displayed被Angular编译为bool值。这是jsfiddle:http://jsfiddle.net/micmia/1psf70tv/3/模板:test1test2Contr

javascript - 在没有eval的情况下评估Javascript中字符串中的 bool 表达式

我有一个包含bool逻辑的字符串,类似于:((true&&true)||false&&!true)Javascript中安全评估此字符串以获得bool结果的最佳方法是什么?我想避免使用eval()。 最佳答案 我为另一个问题编写了这个bool字符串解析器:varexp1="(true&&true||false)&&(true||(false&&true))";varexp2="((true&&true)||false&&!true)";varexp3="(true&&!false)&&true&&!false";varexp4="(

javascript - 如何使用 $interpolate 对模板变量的表达式进行 url 编码?

我有一个变量x="http://example.com?a={{a}}&b={{b}}然后这个变量被用在ng-src={{x}}因此,对变量a和b进行url编码对我来说很重要。我目前做的是:varfunc=$interpolate($scope.x);varurl=func($scope);return$sce.trustAsResourceUrl(url);我的问题是,当a或b包含空格时,它们没有经过url编码。我如何告诉$interpolate函数对变量a和b进行url编码? 最佳答案 $interpolateservicedo

javascript - 此 javascript 表达式的最高和最低可能结果?

这个javascript表达式可以计算出的最大数字是多少?最低的数字是多少?为什么?+(''+Math.random()).substring(2)加分点:表达式可以求出多少个不同的值?可以是从最小值到最大值的每一个值,还是由于四舍五入的问题而无法获得一些中间值?对Daniel回答的回应(已删除,最大为10000000000000000,0分钟):我在Chrome的控制台中玩弄并得到了这个:Math.random();>>0.00012365682050585747'12365682050585747'.length>>1712365682050585747>1000000000000

javascript - 函数声明或函数表达式

我刚刚在block作用域中定义函数时遇到了问题。考虑以下程序:try{greet();functiongreet(){alert("MerryChristmas!");}}catch(error){alert(error);}我希望这个程序能提示MerryChristmas!。然而在Firefox中是给我以下ReferenceError:ReferenceError:greetisnotdefined在Opera和Chrome上,它会像我预期的那样提醒问候语。显然,Firefox将block范围内的函数视为FunctionExpression,而Opera和Chrome将其视为Func

javascript - jQuery 表达式的复杂性

我正在阅读这篇文章-http://css-tricks.com/interviewing-front-end-engineer-san-francisco-关于面试前端工程师。写这篇文章的人建议如下:与其询问合并排序的复杂性,不如询问这个jQuery表达式的复杂性:$("#nava").addClass("link").attr("data-initialized",true).on("click",doSomething)他继续说:对此问题的正确回答将展示对基本计算机科学原理的理解以及对jQuery在幕后所做工作的更深入了解。那么,正确答案是什么?(我实际上会发现谈论合并排序的复杂性