草庐IT

时有发生

全部标签

javascript - 为什么在调用对对象方法的引用时方法的 `this` 会发生变化?

functionPerson(gender){this.gender=gender;}Person.prototype.sayGender=function(){alert(this.gender);};varperson1=newPerson('Male');vargenderTeller=person1.sayGender;person1.sayGender();//alerts'Male'genderTeller();//alertsundefined为什么genderTeller();警报未定义我不清楚。如果我看到它,我相信它和上面的线一样。能否请一些人解释一下细节

javascript - 检测浏览器打印事件在 Chrome 中以两种不同的方式发生

我目前使用的是最新版本的Chrome(43.0.2357.130),从window.print()调用print与使用⌘时打印功能有所不同当使用window.print()打印时,它会正确输出到控制台。它在打印对话框打开时输出BeforePrint,在对话框关闭时输出AfterPrint。但是,当使用Chrome菜单或⌘P进行打印时,它会在打印对话框打开时将BeforePrint和AfterPrint记录到控制台。这是我正在使用的代码,它在其他浏览器中运行良好。functionbeforePrint(){console.log('BeforePrint');}functionafter

javascript - 为什么 CSS 转换发生在 unshift() 而不是 ng-repeat 列表中的 shift()?

我正在使用ng-repeat和CSS转换移动页面中的一些元素。如果我使用unshift更改数据数组,列表会很好地转换。(在我的应用程序中,我正在转换位置和不透明度。)但是,如果我使用shift来更新数组,DOM会立即更新而不会发生任何转换。Here'sademo一种方法,除了转换之外,所有方法都按预期工作。比较使用这两个按钮时的行为。$scope.items.push($scope.items.shift());Here'sanotherdemo另一种方法,其中转换有效,但每次函数运行时数组都会丢失一个元素。$scope.items.shift($scope.items.push())

javascript - 当 Angular 中的模型发生变化时自动更新深层链接的 url

所以。我一直在AngularJS中乱搞(它在我使用它的每一分钟都让我感到惊讶)我想知道,在使用$routeProvider和$routeParams时,是否有任何方法可以强制使用当前的url/location/deep-link当页面上的某些型号发生变化时,浏览器中的地址栏会自动更新吗?HereistheappthatI'mmessingaroundwith.它是Angular网站教程中的应用程序,除了我搞砸了它并添加了一些功能,如分页。如果您注意到,在访问此链接后,您将被重定向到#/phones//age/5/0。第一段是Controller,最后4段分别描述过滤器、文本查询、排序依

javascript - history.back() 之后的代码会发生什么?

我有如下代码:window.history.back();myFunction(10);history.back()是阻塞/非阻塞调用吗?是否可以保证myFunction()会被执行?还是不执行?这是history.back()异步发生并且myFunction()是否被调用取决于不可控事件的时机? 最佳答案 spec说history.backqueuesatask.因此,实际的历史操作代码(在JS实现内部)将在主程序的下一次运行期间执行eventloop.您对myFunction的调用在当前执行轮中同步执行,因此它将始终在兼容环境中

javascript - 即使状态发生变化也无法加载 ui-view

我正在使用AngularUI路由器。请在下面找到代码。index.htmlRouteMainController.jsvarapp=angular.module("appHome",['ui.router']);app.config(function($stateProvider,$urlRouterProvider){$urlRouterProvider.otherwise('/login');$stateProvider.state('introduction',{url:'/',views:{'mainview':{templateUrl:'Login.html',control

javascript - 如何让 JavaScript 等到某个事件发生?

我正在编写一个具有以下结构的网页:一个部分(表A)依赖于另一个部分(表B);另一个部分(表B)包含需要在每次更新时重新计算的元素。计算由外部工具处理,完成后会引发事件。为了保证正确性,只有在另一个表完全更新(即完成计算)后,才需要更新该表。但是,我不知道如何有效地实现这一点,而且我在JavaScript中找不到任何wait工具。目前,我使用以下方法:声明一个全局变量updated并使其为false;在第一个表收到输入后,我创建了一个空的while循环,直到updated为true;添加一个监听器,一旦计算完成并收到事件,将updated设置为true。这对我来说似乎不直观,但我想不出任

javascript - 从服务器推送 websocket 数据后 Angularjs 模型发生变化

我正在尝试在从服务器推送websocket后更改我的Angular模型。每次服务器提供新数据时,如何更改$scope.contacts等值......?我不确定使用$apply是否可行。我知道我可以访问DOM元素检索范围然后更改值,但应该有更好的解决方案!我对无需创建Angular模块即可从外部更新Angular模型的解决方案非常感兴趣,因为我使用的是发出更改事件的相关数据源。有没有像在Backbone.js中那样的简单方法,您可以在其中说:varbook=newBackbone.Model({title:'value'});book.set("title","AScandalinBo

javascript - 我怎样才能让 redux-saga 以任何顺序等待两个 Action 至少发生一次?

这里是Redux传奇新手。我需要创建一个传奇,从我的API服务器加载redux存储的初始状态。这涉及使用两个异步传奇:getCurrentUser和getGroups。我需要并行发出这些ajax请求并等待GET_CURRENT_USER_SUCCESS和GET_GROUPS_SUCCESS操作,然后再发出告诉UI的pageReady操作是时候渲染React组件了。我想到了一个hacky解决方案:function*loadInitialState(){yieldfork(getCurrentUser)yieldfork(getGroups)while(true){yieldtake([a

javascript - 未绑定(bind)的 JavaScript 文字会发生什么?

未绑定(bind)(也称为分配)到变量的JavaScript文字(字符串、数字)会怎样?//Acomment"Practically,alsoacomment"varassigned="something"53423.0022NaN"doesitimpactperformance"//orisittreatedjustlikeacomment?浏览器似乎忽略了它们,但我在spec中找不到特定规则 最佳答案 这些是“表达式语句”。此类表达式会被求值,但由于它们未被赋值,因此不会存储它们的值。JavaScript引擎很可能会检测到那些没