草庐IT

hash_var

全部标签

javascript - 需要 : var io = require ('socket.io' )(http); 的双参数

我是node和JS的新手,正在研究socket.io聊天示例(http://socket.io/get-started/chat/)。我在服务器中遇到了这段代码:varapp=require('express')();varhttp=require('http').Server(app);vario=require('socket.io')(http);我看过其他教程,之前从未见过require之后的双括号。(http)部分有什么作用?它是require的参数,它改变了类型,还是其他什么?谢谢! 最佳答案 在JavaScript中,

javascript - 我可以完全停止使用 var 吗?

我正在学习Java类(class),所有声明都使用block作用域(int、double、boolean等)。然而在JavaScript中,var是函数作用域。let出现在ES6中,并为JS开发人员提供了block作用域。我正在调整我的编码风格,并选择一起摆脱var。这样可以吗? 最佳答案 IsthisO.K.?大部分;可能完全。在极少数情况下,您会希望使用var而不是let/const出于技术(而非风格)原因:如果你想声明一个全局变量成为全局对象的属性(globallet,const,andclass创建全局变量,但它们不会成为全

javascript - if (var.length >0){} 和 if (var){} 之间的区别

在javascript中使用有区别吗if(foo.length>0){//runcodeinvolvingfoo}和if(foo){//runcodeinvolvingfoo}如果是这样,有人可以解释一下区别并举例说明它们不一样吗? 最佳答案 这是一个不相同的例子:varx=[];alert(x?'yes':'no');//displays"yes"alert((x.length>0)?'yes':'no');//displays"no" 关于javascript-if(var.leng

JavaScript: var {left, ...props} = this.props;

我正在阅读Facebook的固定数据表的源代码,我发现了thisvar{left,...props}=this.props;这是什么意思?这是一个新的语义吗?我很困惑o.O 最佳答案 这是一种特殊形式的解构赋值proposedforES7(并热切地在jsx工具和Babel中实现)。它创建了两个变量:left和props。left的值为this.props.left。props是一个对象,具有this.props的所有其他属性(不包括left)。如果你在没有解构的情况下编写它,它看起来像这样:varleft=this.props.le

javascript - "window.location.hash = location.hash"在 Webkit(Safari 和 Chrome)中不起作用

我无法让window.location.hash=location.hash在Safari中工作。我正在使用javascript将我的页面内容与一个可滚动的DIV包装在一起,该DIV位于我网页的导航栏下方。由于滚动条的位置在javascript运行时被重置,我丢失了URL设置的原始哈希位置。我需要使用javascript不重新加载页面来重新提示哈希位置,因此我使用的是window.location.hash=location.hash。它适用于IE8、Firefox和Opera,但不适用于Safari。(我也会假设Chrome,但我没有检查)。有什么建议吗?提示:我喜欢jQuery。

javascript - location.hash 只在 chrome 和 safari 中生效一次

我使用location.hash滚动到我页面的某个地方。当该位置没有哈希时它工作正常。但如果该位置已经具有相同的哈希值,则它不起作用。例如,location.hash='a';滚动到.现在location.href会像http://www.example.com/test.html#a.如果location.hash='a';再次触发,窗口不会滚动。这仅发生在Chrome和Safari中。我在Scrollingapageusinglocation.hashinSafari找到了解决方案,但我不想添加不必要的标签。我也试过location.href='#a'.这很好用,但我担心它会导致页

javascript - 多重赋值 var a = b = b || {} 在 javascript 中

阅读leaflet.js的代码,我遇到了一个我不完全理解的方法:varevents=this._leaflet_events=this._leaflet_events||{};可以简化为vara=b=b||{};根据我的理解,这条指令是一个右结合的多重左手赋值,这意味着首先,JavaScript将运行b=b||{}//ifbexists,returnsb,elsereturnanemptyobject然后a=b//returnstheoutputoftheprecedinginstruction这对我来说没有意义。为什么不写成:a=b||{};完整上下文:addEventListene

javascript - 在 Javascript 中使用 var 和 this 有什么区别?

这些有什么区别?vara=13;this.b=21;document.write(a);document.write(b); 最佳答案 对于全局代码(不属于任何函数的代码),它们几乎是等价的,都在最后创建全局对象的属性。区别在于a,它已经用var语句声明,VariableInstantiation进程将使用全局对象作为可变对象(1),并将该属性定义为不可删除,例如:vara=13;deletea;//falsetypeofa;//"number"然后,b因为全局代码中的this值,指向全局对象本身,也将是一个全局属性,但是这个可以删

JavaScript "for (var i = 0; ...) { ... }"浏览器不兼容?

我有一段时间没有认真地进行JavaScript编程了,我正在为我的一些同事编写该语言的介绍指南。我想讨论循环最佳实践,但有一个小细节我一直记在脑后:当遍历数组时,我记得以下模式使用起来不安全,因为有不支持它的主要浏览器:for(vari=0;i相反,必须将var关键字移出数组,如下所示:vari;for(i=0;i这是正确的吗?我已经在网上搜索过,无法确认这一点。是不是有些老浏览器不支持第一种方式?如果不是,哪些不是? 最佳答案 "Isthiscorrect?"除非我们谈论的是一些非常非常旧的浏览器,否则我不知道今天使用的浏览器有任

javascript - 未捕获的语法错误 : Unexpected token var

我有一个错误UncaughtSyntaxError:Unexpectedtokenvardisplayedbetween(1)and(2)这是一个非常奇怪的错误,它根本没有意义。if($hiddenimage.length==0){//ifthisisthefirsttimemovingoverorclickingontheanchorlinkvar$hiddenimage=$('').appendTo($hiddenimagediv)//populatehiddendivwithenlargedimage$hiddenimage.bind('loadevt',function(e){