相关疑难解决方法(0)

JavaScript模块模式与示例

我找不到任何可访问的示例,显示两个(或更多)不同模块如何连接在一起工作.

所以,我想问一下是否有人有时间编写一个解释模块如何协同工作的例子.

javascript module

136
推荐指数
4
解决办法
10万
查看次数

在JavaScript中定义本地函数:使用var还是不使用var?

在JavaScript中声明本地(内部)函数时,有两个选项:

使用var关键字声明,分配给变量:

(function() {
    var innerFunction1 = function() { ... };
    innerFunction1();
}());
Run Code Online (Sandbox Code Playgroud)

仅使用function关键字声明,而不指定给变量:

(function() {
    function innerFunction2() { ... };
    innerFunction2();
}());
Run Code Online (Sandbox Code Playgroud)

我可以看到第二个的一个优点:函数可以在调用它的代码下面声明,因此更容易将私有函数与实际执行的代码分开.

哪个更好,为什么

javascript closures declaration function

59
推荐指数
2
解决办法
3万
查看次数

Javascript:语句和表达式之间的区别?

我之前问了这个问题,在仔细考虑了这个话题之后,我开始想知道"陈述"和"表达"这两个词之间看似模糊的界限在哪里.所有陈述都是表达式吗?REPL控制台中的返回值来自哪里?它们似乎并不总是具有直观意义.当然,如果你输入1+1,你会得到2,但有时候它的逻辑并不明显.

鉴于在REPL中输入的任何内容都会产生一些价值,这是否意味着它可以在JS源代码中用作表达式和独立语句?

可以_X_在以下代码段中使用的代码串也可用于_Y_反之亦然?if(_X_) _Y_

javascript expression terminology semantics

54
推荐指数
8
解决办法
2万
查看次数

闭包:用Javascript或者翻译语言中的PHP"use"关键字或C++捕获列表的等价物

在PHP中,我们有一个简洁的use关键字,允许在使用闭包时使用"外部"变量,如下所示:

$tax = 10;
$totalPrice = function ($quantity, $price) use ($tax){  //mandatory 'use'
    return ($price * $quantity) * ($tax + 1.0);
};
Run Code Online (Sandbox Code Playgroud)

如果我们省略该use ($tax)部分,它将抛出一个错误,我非常喜欢.

类似地,在C++ 11中,我们也这样做,使用括号指定称为捕获列表的外部变量:

float tax = 10;
auto totalPrice = [tax](int quantity, float price){   //mandatory []
   return (price*quantity) * (tax + 1.0);
};
Run Code Online (Sandbox Code Playgroud)

与在php中一样,如果省略捕获列表,则会抛出错误.

在Javascript中,我们没有等效于此use关键字(或c ++ []),我们只是这样做:

var tax = 10;
var totalPrice = function (quantity, price){  //no need for 'use' or similar
    return (price * quantity) * (tax …
Run Code Online (Sandbox Code Playgroud)

javascript php closures c++11 typescript

11
推荐指数
1
解决办法
1105
查看次数

什么是Javascript中的(函数e(t,n,r){...})?

我正在研究List.js框架.这是一个起始代码.如果我删除它(甚至删除功能e)的周围"()",代码不起作用.

这是什么?我认为它已经在Javascript方法中定义了.

(function e(t,n,r){
  function s(o,u){
   if(!n[o]){
    if(!t[o]){
    var a=typeof require=="function"&&require;
    if(!u&&a) return a(o,!0);
    if(i)return i(o,!0);
    var f=new Error("Cannot find module '"+o+"'");
    throw f.code="MODULE_NOT_FOUND",f
    }

    var l=n[o]={exports:{}};
    t[o][0].call(l.exports,function(e){
    var n=t[o][1][e];
    return s(n?n:e)
    },l,l.exports,e,t,n,r)
   }

 return n[o].exports
 }

 var i=typeof require=="function"&&require;
 for(var o=0;o<r.length;o++)
 s(r[o]);

 return s
}
)
Run Code Online (Sandbox Code Playgroud)

javascript minify

9
推荐指数
1
解决办法
8165
查看次数

JavaScript表示法:(function(){...})();

可能重复:
将整个Javascript文件包装在像" (function(){ … })()" 这样的匿名函数中的目的是什么?

大家好,

我看过几个使用这种表示法的JavaScript文件:

JavaScript文件的开头:

(function() {
 // All functions go here. 
 // Can someone say what the wrapping nameless function is used for?
})();
Run Code Online (Sandbox Code Playgroud)

还有原型库,这似乎是可能的:

function $() {
 // Prototype $-wrapping function.
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释上面两个代码片段,它们的用途和它们的区别吗?一些关键字可以帮助我找到更多关于这种符号/技术(如何命名)也会有帮助,所以我可以在它上面运行谷歌搜索... :)

谢谢!

javascript prototypejs

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

这块JS代码是什么意思?

可能的重复:
将整个 Javascript 文件包装在像“(function(){ ... })()”这样的匿名函数中的目的是什么?

我遇到了一个 JS 文件,可以总结为下面的代码:

   (function(window){
              // some codes here
                    })(window);
Run Code Online (Sandbox Code Playgroud)

我想知道这段代码是什么意思?窗口有什么特殊含义,还是只是一个参数?我们在括号中看到的两个“窗口”有什么区别?

由于这个函数没有名字,我假设它是一个匿名函数,那么它是否只被调用一次?什么时候调用?

javascript

5
推荐指数
1
解决办法
248
查看次数

为什么在匿名函数中包装我的JavaScript库会修复我的竞争条件?

问题:为什么在匿名函数中包装我的JavaScript库会修复我的竞争条件?

注意:我也对同步和异步加载外部JavaScript资源的良好解决方案的评论感兴趣.

我正在开发一个涉及使用crossrider编写浏览器扩展的项目.如果您不熟悉跨骑手扩展,他们是用JavaScript实现的,那么您有一个可以与应用页面通信的后台页面.应用页面可以与每个打开的选项卡一起运行,并可以操作DOM.我计划在用户请求打开时远程加载大部分扩展代码.最近,当我向引用Raphael的页面添加脚本标签时,我遇到了竞争状态,然后我用graffle构建一些东西

根据我的理解,如果页面加载了那些已经存在的脚本标签,那么执行将同步进行,但是因为我附加了脚本标签,所以执行是异步进行的.这是大多数人似乎面临的相反问题.搞乱它我学会了在匿名函数中包装我的代码graffle代码修复了我的竞争条件.为什么?我读过这篇关于在匿名函数中包装整个Javascript文件的帖子,这似乎与竞争条件没有任何关系.

我的通话代码:

var scriptsToLoad   = [ "http://example/Scripts/lib/raphael.js",
                "http://example/Scripts/lib/graffle.js",
                "http://example/Scripts/lib/log4javascript.js"];

for(var i in scriptsToLoad) {
    (function(){
        $("head")
            .append($("<script></script>")
                .attr("type", "text/javascript")
                .attr("src", scriptsToLoad[i]));
    })()
}
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous anonymous-function race-condition

5
推荐指数
1
解决办法
621
查看次数

这个JavaScript代码有什么区别吗?

我已经看到了以下两种方式实现的各种代码.我总是使用第二个(2.).我想在这里知道两件事.

  1. 这两个代码有什么区别吗?

  2. 哪一个是最佳实践(以及为什么)?

1.

(function () {
    //some code here, angular code
})();
Run Code Online (Sandbox Code Playgroud)

2.

 (function () {
     //some code here, angular code
 });
Run Code Online (Sandbox Code Playgroud)

我还想在这方面建议一些好的博客或书籍,因为我想更详细地学习.谢谢大家提前..

javascript angularjs

4
推荐指数
1
解决办法
130
查看次数

Javascript:将代码包装在匿名函数中

如果我将脚本包装为匿名样式函数,例如“在Coffeescript中编译”是否适合操作DOM?

  • 它有什么好处?
  • 这有什么问题?
  • 我的代码更安全吗?

(function() {

this.detect = function(){
  window.alert( "message" );

};

}).call(this);
Run Code Online (Sandbox Code Playgroud)

javascript

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

javascript中表达式函数后面的括号有什么作用?

我在 NodeJS 上有这个模块:

const { cloneDeep, mapValues } = require('lodash');

module.exports = function(Sequelize) {
  return new ( function(Sequelize) {
    /* Preserve this pointer into forEach callbacks scope */
    var self = this;

    this.types = {
      'string'  : Sequelize.STRING,
      'text'    : Sequelize.TEXT,
      'integer' : Sequelize.INTEGER,
      'int'     : Sequelize.INTEGER,
      'decimal' : Sequelize.DECIMAL,
      'date'    : Sequelize.DATE,
      'boolean' : Sequelize.BOOLEAN,
    };

    /* Convert the Agence model Syntax to Sequelize syntax */

    this.parse = function(model) {

      /* Convert model Agence attributes to Sequelize types attribs …
Run Code Online (Sandbox Code Playgroud)

javascript function parentheses node.js sequelize.js

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

在Javascript中对函数语句使用函数表达式有什么意义?

我理解表达式在执行上下文到达之前不会"存在".我只是想知道是否有任何区域使用函数表达式比普通函数语句更好,您不必担心函数何时会被保存到内存中.

我完全了解它们如何在差异中工作,我只是对表达的用途感到好奇.

javascript function

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