草庐IT

T_OLD_FUNCTION

全部标签

javascript - 扩展挑战 : preprocessor function macros and class-like oop

背景我一直在使用C预处理器来管理和“编译”具有多个文件和构建目标的半大型javascript项目。这允许从javascript中完全访问C预处理器指令,如#include、#define、#ifdef等。这是一个示例构建脚本,因此您可以测试示例代码:#!/bin/bashexportOPTS="-DDEBUG_MODE=1-Isrc"forFILEin`findsrc/|egrep'\.js?$'`doecho"Processing$FILE"cat$FILE\|sed's/^\s*\/\/#/#/'\|cpp$OPTS\|sed's/^[#:build/`basename$FILE`

javascript - 构造函数 : var X = function (){}, var X = function X(){} 和 function X(){} 的区别

这个问题在这里已经有了答案:varfunctionName=function(){}vsfunctionfunctionName(){}(41个回答)关闭8年前。我现在正在调试别人的代码,当他在这两种模式下定义构造函数时,我感到很困惑。两者之间有什么特别之处吗?//constructor1varMyObject=function(){};//constructor2varMyObject=functionMyObject(){};另外,像这样创建一个函数有什么效果。functionMyObject(){};我只是在查看每个的特定用例。

javascript - 直接在函数声明上使用 function.prototype.bind

为什么允许这样做?varf=function(){console.log(this.x);}.bind({x:1})();为什么这不是或更好,为什么我在这种情况下会出现语法错误?functionf(){console.log(this.x);}.bind({x:1})();那么,为什么我需要函数表达式语法来完成这项工作,有没有办法直接在函数声明上使用bind方法? 最佳答案 第二个示例有效,但语法略有偏差:将函数括在括号中。我不得不说我不完全确定为什么。好像没有parent也行吧?:P(functionf(){console.log

javascript - 为什么不使用 mouseup 事件目标而不是 "old school"拖放的位置?

因此,据我所知,几乎所有与IE兼容的拖放操作都使用定位来确定将某些内容放置在何处。做一些类似mousedown的事情,确定所有可放置的位置,mouseup确定我们是否处于可放置的位置。为什么?我制作了一个快速原型(prototype),它似乎可以工作,它使用mouseup上的event.target(在jquery中,所以无论它转换到其他地方)来确定放置元素。是否有令人信服的理由不这样做?(在mouseup上使用e.target)。所以,mousedown决定了拖拽的是什么,mouseup决定了拖放的位置。添加一些变量以确保我们正在拖动,并记住拖动的是什么。

javascript - 使用: and => for the return type with a TypeScript function?有什么区别

我有以下代码:///functionaddThemePrototypes(){vartemplateSetup=newArray();$.fn.addTemplateSetup=function(func,prioritary){if(prioritary){templateSetup.unshift(func);}else{templateSetup.push(func);}};}有人能告诉我为什么要用=>void来声明吗?interfaceJQuery{addTemplateSetup:(func:Function,priority:bool)=>void;}我想我对如何从java

javascript - 哪种方法更好 : function. apply(<this>, args) 或具有接受 <this> 作为参数的函数?

假设我有一个这样定义的函数A:functionA=function(myObject,someParams){myObject.save_some_data=someParams;myObject.processed=true;}然后我可以调用它并传递一个对象作为functionA(someObject,someParams)进行处理。不过,我可以用apply()转换这个例子:functionA=function(someParams){this.save_some_data=someParams;this.processed=true;}functionA.apply(someObj

javascript - Array.find(value) 返回值 'is not a function'

我正在尝试在AngularJS数组上使用JavaScript的find()函数。这是合法的,对吧...?这个非常简单的代码给我带来了一些问题。这是说$scope.names.find(name1)的返回值不是函数。TypeError:Name1不是函数if($scope.names.find(name1)!==name1){$scope.names.push(name1);}我也试过...if($scope.names.find(name1)===undefined){$scope.names.push(name1);}和if(!$scope.names.find(name1)){$s

javascript - 为什么我在运行此示例 node.js 代码时得到 "TypeError: object is not a function"?

为什么我在运行下面显示的代码时会出错?(它用于Coursera上斯坦福“创业工程”类(class)的作业之一:https://class.coursera.org/startup-001/quiz/attempt?quiz_id=149)该类(class)于2013年6月至9月开课,因此可能存在破坏脚本的Node或csv更新,对吧?作业不是关于修复脚本的,所以这个问题不是'作弊',而且类(class)目前没有运行..所以,环境是:Ubuntu14.04(内核3-13-0-29-generic),Nodev0.11.13,npmv1.4.9我在主目录中有npminstall的csv、ac

javascript - ES6/终极版 : returning a function to remove event listener

我在Egghead上观看DanAbramov的Redux教程,他做了一些让我有点困惑的事情。作为学习练习,他让观众重建createStore抽象。createStore提供的一种方法是subscribe,它会添加监听器以监听商店的变化。然后他说:Thereisanimportantmissingpiecehere.Wehaven'tprovidedawaytounsubscribealistener.InsteadofaddingadedicatedUnsubscribemethod,we'lljustreturnafunctionfromtheSubscribemethodthatr

javascript - "TypeError: res.sendStatus is not a function"为什么我在一段时间后收到此错误?

我已经使用npm安装了“express”,我已经成功地在3000上监听了端口号。但是过了一会儿我得到了以下错误,TypeError:res.sendStatusisnotafunction我们知道,res.sendStatus(404)与express相关。但是express的位置很清楚。这是app.js中的源代码varexpress=require('express'),app=express();app.get('/',function(req,res){res.send('HelloWorlds');});app.use(function(req,res){res.sendSta