草庐IT

类和类的定义

全部标签

Javascript 命名函数定义在不应该执行的时候执行

我不知道这里发生了什么。代码是:if(true){console.log('Infirstfunctiondefinition');functiontest(){console.log('Helloworld');}}else{console.log('Inthesecondfunctiondefinition');functiontest(){console.log('Goodbyeworld');}}test();我希望这会登录到控制台:'Inthefirstfunctiondefinition''Helloworld'而是记录:'Inthefirstfunctiondefinit

javascript - 我可以避免 $scope.$watch 返回未定义的值吗?

当我通过$scope.$watch在Angular中观察一个范围变量时,它似乎只在第一次调用watch函数时是undefined。是否可以重写我的代码以避免对undefined进行不必要的检查?这是一个最小的例子:1)jsfiddle2)HTML:Entersometext:Youentered:{{text}}Length:{{textLength}}3)Javascript:angular.module('MyApp',[]).controller('MyCtrl',function($scope){$scope.textLength=0;$scope.$watch('text',

javascript - Chrome 扩展程序无法读取 contextMenus.create 中未定义的属性创建

这是我的contextMenus.create函数,它抛出无法读取未定义的创建属性错误。chrome.contextMenus.create({"title":"BuzzThis","contexts":["page","selection","image","link"],"onclick":clickHandler});我在相同的内容脚本中也有这个:chrome.contextMenus.onClicked.addListener(onClickHandler);//TheonClickedcallbackfunction.functiononClickHandler(info,t

javascript - 无法设置属性 ... 未定义 --- 奇怪

我在Chrome中遇到了一个奇怪的错误...请查看下面的屏幕截图。我使用对象字面量语法定义记录。我尝试设置“id”属性并得到异常。我都试过了:record['id']='wtf';还有record.id='wtf';我在我的脚本中到处都使用这种类型的语法......这里会发生什么?这是Chrome中的错误吗?编辑:我现在已经解决了这个问题,但我仍然不确定为什么会这样。我将记录的定义移到了ifblock之外。任何人都知道会发生什么?我认为所有变量声明都限定在函数范围内,因此这应该不是问题。 最佳答案 问题很可能是dl小于或等于零,因此

javascript - 未定义=真;然后回到未定义?

一些javascripttomfoolery:如果这可行undefined=true;那你怎么能恢复到将undefined设置回表示undefined呢?当然,简单的方法是在将undefined设置为true之前将undefined存储在另一个变量中。还有什么其他方法可以恢复undefined?首先想到将其设置回去的是deleteundefined;,但没有用。 最佳答案 Alex'sanswer是确保undefined确实未定义的安全实用方法。但是JS非常灵活,所以为了好玩,如果你想恢复全局未定义,那么你可以重新分配window.

javascript - 为什么此代码未定义但不是 2?

我尝试将此Scheme代码转换为Javascript:(define(doublef)(lambda(x)(f(fx))))(define(incx)(+x1))((doubleinc)0)((doubleinc)0)表示(inc(inc0)),所以它返回2。这是我的Javascript代码:vardouble=function(f){returnfunction(x){f(f(x));}}varinc=function(x){returnx+1;}double(inc)(0);但是double(inc)(0)返回undefined,而不是2。为什么? 最佳

javascript - AngularJS - 由于未定义的数组导致自定义过滤器错误并且仍然正确过滤?

我有一个对象数组被分配给$scope在Controller中,并在部分模板中的一系列div中进行过滤:过滤器显示在单独的fieldset中元素:FiltersNameContains:Show:SortBy:我有一个设置了两个过滤器的模块,并将该模块传递到我的应用程序:angular.module('widget',['filters']).config(['$routeProvider',function($routeProvider){$routeProvider.when('/homefolder',{templateUrl:'widget/partial/entity-list

javascript - 选择具有两个类的元素

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Howtogetelementswithmultipleclasses正在处理一些javascript代码,用于设置引用页面的当前URL以传递到iframe小部件中。无法控制javascript所在页面的代码,除了一位javascript代码。我需要抓取的元素值示例如下:我想做的是通过组合类“page”和“current”来选择div。在此示例中,“NEW_VEHICLE_DETAILS”对于该页面是唯一的,并且在其他页面上有所不同。我想创建一些一致的代码,而不必像当前那样为每个页面进行更改。这是我现在使用的

javascript - Angular $httpBackend.expectGET - 响应 409 状态和自定义 statusText

尝试在单元测试中创建$httpBackend.expectGET以返回409状态和“TestPhrase”的自定义statusText。查看Angular文档(https://docs.angularjs.org/api/ngMock/service/$httpBackend)它给出了以下返回内容的示例:{function([status,]data[,headers,statusText])|function(function(method,url,data,headers)}无法理解如何解释上述示例。我当前的代码是:$httpBackend.expectGET('/example/

javascript - 名为 "name"的变量是否总是在 Javascript 中定义?

document.writeln('name='+name);//name=document.writeln('notName='+notName);//ReferenceError:notNameisnotdefined“名称”在javascript中有什么特殊含义吗?(在IE和FF中检查过) 最佳答案 Isvariablecalled“name”alwaysdefinedinJavascript?没有。但是,在浏览器上有一个名为name的全局变量,它是当前窗口的名称。这是浏览器上的JavaScript全局对象是Window对象这