小编eat*_*hil的帖子

类的{}和函数(){}之间的差异

在Javascript中,我可以像这样创建一个"类":

var MyClass = function(){
    return this;
};

var myClassInstance = new MyClass();
Run Code Online (Sandbox Code Playgroud)

执行上述操作和执行此操作之间有什么区别:

var MyClass = {};

var myClassInstance = Object.create(MyClass);
Run Code Online (Sandbox Code Playgroud)

有没有理由使用一个而不是另一个?

javascript

6
推荐指数
0
解决办法
95
查看次数

jquery如果背景颜色==

我正在尝试检查元素的背景,这是我的代码.但它不起作用:

我试过两种方法,这是第一种:

function changeColor(field) {
     if(field.css('background-color','#ffb100')) {
          field.css('background-color','white');
     }
     else {
          field.css('background-color','ffb100');
     }
}
Run Code Online (Sandbox Code Playgroud)

这是第二个:

function changeColor(field) {
     if(field.css('background-color') === '#ffb100') {
          field.css('background-color','white');
     }
     else {
          field.css('background-color','ffb100');
     }
}
Run Code Online (Sandbox Code Playgroud)

但都没有奏效!有什么建议?

编辑:这是我的最新代码,但它仍然无法正常工作:

function changeColor(field) {
                if(field.css('background-color') == 'rgb(255, 255, 255)') {
                    field.css('background-color','ffb100');
                }
                else {
                    field.css('background-color','white');
                }
            }
Run Code Online (Sandbox Code Playgroud)

jquery

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

jquery在加载ajax响应时执行函数

如何在客户端等待服务器响应时执行将运行的函数?这是我的代码.我查了一下,发现了一个.load()函数,但这又如何适应呢?任何帮助都会很棒!谢谢

$.ajax({
    type: "POST",
    url: "mail.php",
    data: {name: name.val(), email: email.val(), phone: phone.val(), subject: subject.val(), message: message.val()}
    }).done(function(){
        alert("Your message was sent. We will be in contact with you shortly.");
        window.location="index.html";
});
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

用javascript隐藏所有div

我想知道如何只使用Javascript隐藏页面上的所有div,我不能使用Jquery.有没有办法在不使用document.getElementByTag附带的数组的情况下执行此操作?或者,如果没有,你能告诉我如何隐藏所有?谢谢!

javascript

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

JavaScript - 获取列表选项的长度

有没有办法在select-dropdown HTML输入标签中获取列表选项的长度?列表动态变化,我需要计算下拉列表中的选项总数.总选项是动态生成的,因此我需要一种方法来计算html选择标记中的选项标记数.我还需要在纯JS中执行此操作,因为我正在使用的应用程序将不允许我使用JQuery.(请不要和我争论,除非在纯JS中绝对没有办法做到这一点.)

只需要与Internet Explorer兼容.

我认为这将与访问DOM有关,但我不确定语法将如何确切.

html javascript drop-down-menu

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

调用列表中的所有Javascript函数

调用列表中所有函数的最惯用的方式是什么?

我能想到的最好的是:

myFunctions.forEach(function(f){f();});
Run Code Online (Sandbox Code Playgroud)

有没有更惯用的方法呢?

编辑:

我现在真的只对ES5感兴趣。也许与数组原型有某种联系?

javascript

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

Javascript静态方法与原型/实例化方法的性能比较

我一直在尝试在Javascript中使用静态方法。与其让对象继承自原型,不如使用鸭式输入。

var Controller = {};
Controller.getData = function() {//return data};

// and then in use:
var page = route.getPage();
require([page], function(Controller) {
    Controller.getData();
});
Run Code Online (Sandbox Code Playgroud)

我可以通过使用Controller原型创建新对象来做到这一点:

function Controller() {};
Controller.prototype.getData = function() {//return data};

// and then in use:
var page = route.getPage();
require([page], function(Controller) {
    var controller = new Controller();
    controller.getData();
});
Run Code Online (Sandbox Code Playgroud)

我的直觉是静态方法会更快,但我不知道。通常,这两种方法之间的性能差异是什么?

TLDR;基本上这个问题,但对于Javascript。

javascript static-methods prototypal-inheritance

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

从Poly/ML中的源代码字符串获取解析树

我正在尝试编译一串源代码并使用Poly/ML打印解析树.以下代码编译,但解析树为空:

fun main () =
    let
        val stream = TextIO.openString "let val a = \"abc\"; val b = \"def\"; val c = a ^ b in print c end";
        val _ = PolyML.compiler (fn () => TextIO.input1 stream, []);
        val (_, parseTree) = !PolyML.IDEInterface.parseTree
    in
        PolyML.print (parseTree);
        PolyML.print (List.length parseTree);
        List.map PolyML.print (parseTree);
        ()
    end
Run Code Online (Sandbox Code Playgroud)

运行这个:

$ ./a.out
[...]
0
$
Run Code Online (Sandbox Code Playgroud)

从编译器获取解析树需要做什么?我还尝试使用CPCompilerResultFun编译器参数进行变体.但这也不起作用:

fun main () =
    let
        fun useTree (NONE, _) () =
            (PolyML.print "not parsed"; ())
          | …
Run Code Online (Sandbox Code Playgroud)

sml polyml

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

微信获取配置变量

如何获取 Weechat 配置变量?例如,我可以设置配置:

/set irc.servers.freenode.ssl on
Run Code Online (Sandbox Code Playgroud)

如何检索我设置的值?

irc weechat

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

方案 R7RS 中加载和包含之间的差异

在方案 R7RS 中,有 aloadinclude形式。

包含描述为:

语义:include 和 include-ci 都采用一个或多个以字符串文字表示的文件名,应用特定于实现的算法来查找相应的文件,按照指定的顺序读取文件的内容,就像重复应用 read 一样,并有效地重新- 将 include 或 include-ci 表达式与包含从文件中读取的内容的 begin 表达式放在一起。两者之间的区别在于 include-ci 读取每个文件,就像它以 #!fold-case 指令开头一样,而 include 则不然。注意:鼓励实现在包含包含文件的目录中搜索文件,并为用户提供一种指定其他目录进行搜索的方法。

负载描述为:

依赖于实现的操作用于将文件名转换为包含Scheme源代码的现有文件的名称。加载过程从文件中读取表达式和定义,并在环境说明符指定的环境中按顺序计算它们。如果省略环境说明符,则假定为(交互环境)。未指定是否打印表达式的结果。加载过程不会影响当前输入端口和当前输出端口返回的值。它返回一个未指定的值。基本原理:为了可移植性,加载必须对源文件进行操作。它对其他类型文件的操作必然因实现而异。

这两种形式的理由是什么?我认为这是历史性的。这两种形式之间有什么重要的语义差异吗?我发现load可以选择包含环境说明符,但include没有。并且include-ci没有直接等效的使用load. 但比较loadinclude单独比较,有什么区别,重要吗?

lisp scheme r7rs

5
推荐指数
2
解决办法
1088
查看次数