草庐IT

Python函数知识点

全部标签

javascript - 任何转换对象*值*的 Javascript 或 Coffeescript `map` 函数?

是否没有普遍存在的/标准的Javascript或Coffeescript函数来转换对象/映射/散列的值?jQueryhas$.map但它只生成Array。Underscorehas_.map但它也只生成Array。明确地说,像这样的函数正是我要找的。(这个例子是用Coffeescript而不是Javascript写的。)#Transformsthevaluesinamap.(Doesn'tmodify`obj`—returnsanewmap.)#Exampleusage:#mapObjVals({a:'aa',b:'bb'},(key,value)->value+'_!')#-->{a

javascript - localStorage 的方括号语法与函数

这个问题在这里已经有了答案:localStorage-usegetItem/setItemfunctionsoraccessobjectdirectly?(5个答案)关闭8年前。下面两段代码有什么区别?方括号语法是旧的、已弃用的语法吗?当我第一次使用localStorage时,我找到的所有文档都肯定说使用方括号语法,但现在我找不到任何关于它的文档。记录的语法:localStorage.setItem('hello','world');localStorage.getItem('hello');//world方括号语法:localStorage.hello='world';localSt

javascript - 为什么内置函数没有原型(prototype)属性?

鉴于ES5.1标准规定...1)http://es5.github.com/#x13.2脚下的注释NOTEAprototypepropertyisautomaticallycreatedforeveryfunction,toallowforthepossibilitythatthefunctionwillbeusedasaconstructor.2)http://es5.github.com/#x15.3.5.2NOTEFunctionobjectscreatedusingFunction.prototype.binddonothaveaprototypeproperty.(这意味着所

javascript - 这些自执行匿名函数(又名 IIFE)实现之间有什么区别

在许多书中/blogposts自调用匿名函数模式是这样写的:(function(){varfoo='bar';})();但是运行JSLint对此给出了这个错误:Movetheinvocationintotheparensthatcontainthefunction.例如把它改成这个作品:(function(){varfoo='bar';}());问题为什么第一个实现对JSLint来说不够好?有什么区别?首选的形式是什么?JSLint总是正确的吗?它为什么有效?毕竟function(){}()抛出一个SyntaxError:Unexpectedtoken(但是用parens包裹它会突然起

javascript - 闭包中变量的性能与函数参数

有谁知道通过函数参数传入变量与通过闭包提供变量的优化效果?似乎通过函数参数传递变量会更快,因为对象是通过引用复制的(如此快的复制时间)并且攀登函数的范围环境需要在每个级别检查环境。这是我的意思的要点a=5;b=function(){alert(a);}b();对比a=5;b=function(c){alert(c);}b(a);理论上哪个执行得更快? 最佳答案 我前阵子也有同样的疑问,所以一起打了个耳光aquick'n'dirtybenchmark.似乎大多数流行的浏览器(令人惊讶地)更喜欢在范围内查找(FF24非常如此)。我希望这

javascript - 在 JavaScript 中使用 Math.max() 函数时如何避免 NaN?

我正在尝试获取数字数组中的最大值:maxtime=Math.max.apply(Math,cnttimearr);alert(maxtime);但是,我得到的是NaN而不是最大值。谁能告诉我我做错了什么? 最佳答案 阅读themanual.Ifatleastoneofargumentscannotbeconvertedtoanumber,theresultisNaN.确保数组中的所有元素都可以转换为数字。>xs=[1,2,'3'];[1,2,"3"]>Math.max.apply(Math,xs);3>xs=[1,2,'hello'

javascript - 将新值分配给传递给 JavaScript 函数的对象

我是JavaScript的新手(虽然有C++经验),今天,我写了这样的东西:functionfoo(bar){bar="somethingelse";}varx="blah";foo(x);alert(x);//Alertswith"blah",butIwasexpectingittoalertwith"somethingelse"这让我很困惑,因为我一直在观看DouglasCrockford的一些JavaScript视频,并记得他说过类似“JavaScript总是通过引用传递”这样的话。我可以解释这种情况的方式是JavaScript将引用传递给对象,但这些引用被复制了。这意味着在fo

javascript - 从函数体内访问函数对象的属性

javascript中的函数也是一个对象,可以有属性。那么有什么方法可以从它自己的函数体内访问它的属性吗?像这样varf=function(){console.log(/*somewaytoaccessf.a*/);};f.a='Test';f();//shouldlog'Test'toconsole 最佳答案 arguments.callee是函数本身,不受函数名称的影响。varf=function(){console.log(arguments.callee.a);};f.a='Test';f();

javascript - 为什么 TypeScript 将类包装在匿名函数中?

这个问题在这里已经有了答案:Howtodoclassimplementation?(1个回答)关闭7年前。例如,我们有一个Dog类:classDog{staticfood;privatestaticstatic_var=123;constructor(privatename){}speak(){console.log(this.name+',Ieat'+Dog.food+','+Dog.static_var);}}编译为JS:varDog=(function(){functionDog(name){this.name=name;}Dog.prototype.speak=function

javascript - 箭头函数的 this 值

这个问题在这里已经有了答案:MethodsinES6objects:usingarrowfunctions(6个答案)Howdoesthe"this"keywordinJavascriptactwithinanobjectliteral?[duplicate](4个答案)关闭5年前。我正在尝试理解ECMAScript6中的箭头函数。这是我在阅读时遇到的定义:Arrowfunctionshaveimplicitthisbinding,whichmeansthatthevalueofthethisvalueinsideofanarrowfunctionisawaysthesameasthe