相关疑难解决方法(0)

这个符号在JavaScript中意味着什么?

这是什么?

这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.

为什么是这样?

Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.

主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.

此外,这是PHP符号引用的公然副本.我们需要一个JS.


请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接

javascript

86
推荐指数
1
解决办法
14万
查看次数

var x,y ='foo'; 这可以实现吗?

既然可以这样做:

var x = 'foo', y = 'foo';
Run Code Online (Sandbox Code Playgroud)

这也有可能吗?

var x, y = 'foo';
Run Code Online (Sandbox Code Playgroud)

我尝试过,但x变得不确定.

我知道这似乎是一个愚蠢或多余的问题,但如果我对某些事情感到好奇,为什么不问?你也可能想知道为什么我需要两个变量在范围内等于相同的东西.这不是问题的关键.我只是好奇.

javascript variables syntax jquery

13
推荐指数
5
解决办法
3315
查看次数

使用Commas与Semi冒号连接多个语句

在使用缩小的Jquery时,我注意到多个用逗号连接的语句.

例如

event.preventDefault();
event.stopPropagation();
jQuery.event.trigger( event, data, this[0] );
return event.result;
Run Code Online (Sandbox Code Playgroud)

缩小为:

c.preventDefault(),c.stopPropagation(),d.event.trigger(c,b,this[0]);return c.result
Run Code Online (Sandbox Code Playgroud)

我确实看到了一个类似的问题:JavaScript变量定义:Commas vs.Semicolons

但在这种情况下,显然没有性能优势或字符减少.

我可以假设这只是缩小脚本的选择吗?

首先使用分号是不是更安全..并且防止在返回语句的情况下避免串联逗号的逻辑开销.

javascript jquery minify

12
推荐指数
1
解决办法
1727
查看次数

Javascript最佳实践,为什么要使用逗号来链接函数/变量声明?

我一直在为jQuery"jQueryLog"开发一个插件,以便调试链选择器和返回值.如果你想查看它,你可以在这里

这已经是第二个版本了.第一个版本实际上是一个编辑过的jQuery,在做这个时我不得不阅读jQuery来了解内部的工作原理.问题来自那里:

var jQuery = function( selector, context ) {
        // The jQuery object is actually just the init constructor 'enhanced'
        return new jQuery.fn.init( selector, context, rootjQuery );
    },

    // Map over jQuery in case of overwrite
    _jQuery = window.jQuery,

    // Map over the $ in case of overwrite
    _$ = window.$,

    // A central reference to the root jQuery(document)
    rootjQuery,

    // A simple way to check for HTML strings or ID strings
    // Prioritize #id over <tag> …
Run Code Online (Sandbox Code Playgroud)

javascript

6
推荐指数
1
解决办法
2699
查看次数

在Javascript变量声明中使用逗号

我刚刚看到以下代码:

function showMatch(str, reg) {
var res = [], matches
 while(true) {
  matches = reg.exec(str)
  if (matches === null) break
   res.push(matches[0])
  if (!reg.global) break
alert(res)
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释第二行吗?是否

var res = [], matches 
Run Code Online (Sandbox Code Playgroud)

等于

var res=[]; res=matches
Run Code Online (Sandbox Code Playgroud)

要么

var res=[]; var matches=[]
Run Code Online (Sandbox Code Playgroud)

我猜第二个答案是对的吗?我发现这有点令人困惑......

javascript

4
推荐指数
2
解决办法
2704
查看次数

为什么jQuery源代码使用逗号运算符进行变量赋值呢?

这是从jQuery源代码(1.7.1)开始的摘录:

// Define a local copy of jQuery
var jQuery = function( selector, context ) {
        // The jQuery object is actually just the init constructor 'enhanced'
        return new jQuery.fn.init( selector, context, rootjQuery );
    },

    // Map over jQuery in case of overwrite
    _jQuery = window.jQuery,

    // Map over the $ in case of overwrite
    _$ = window.$,


    // ...continues...


    // [[Class]] -> type pairs
    class2type = {};
Run Code Online (Sandbox Code Playgroud)

代码是一系列变量赋值,全部由逗号运算符连接.据我了解逗号运算符,它会在它之前和之后计算表达式,并返回后者的值.

由于变量赋值链没有被分配给任何东西,因此让我感到震惊的是代码可以用分号代替逗号来重写,而不会改变它的运算方式.例如

// Define a local copy of jQuery
var …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

3
推荐指数
1
解决办法
1801
查看次数

What is happening when you're destructing an array without using square brackets?

Python developer here. I am using JavaScript to run the following command,

let a = [1, 2, 3];
let b , c, d = a;
console.log(b);
console.log(c);
console.log(d);
Run Code Online (Sandbox Code Playgroud)

To my surprise, b and c are undefined while d is the entire a variable. I later realize that I am meant to go let [b, c, d] = a;, however I am just trying to understand what is happening and why they're undefined.

javascript

0
推荐指数
1
解决办法
53
查看次数

标签 统计

javascript ×7

jquery ×3

minify ×1

syntax ×1

variables ×1