小编Ian*_*Ian的帖子

在Python中,您可以像JavaScript一样对字符串函数进行原型设计

在JavaScript中,您可以执行此操作以将trim函数添加到现有原型函数中

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
Run Code Online (Sandbox Code Playgroud)

然后你可以做这样的事情来访问这些功能.

trimmed = myString.trim();
Run Code Online (Sandbox Code Playgroud)

你有一个修剪过的绳子.

在python中,我知道如何通过这样做列出字符串的原型函数:

print dir(myString)
Run Code Online (Sandbox Code Playgroud)

但是如何在Python中添加原型函数?

javascript python prototype

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

为什么$(div#id)比$(#id)慢?

除非我的测试出现问题,否则当我在Chrome上运行这个jsfiddle时,$("#id")选择器大约需要11ms,选择器需要56ms $(div#id).

$(document).ready(function(){
    startTime = new Date().getTime();
    for (i = 0; i < 10000; i++)
    {
        s = $("#idC12");
    }           
    $("#idResults").html("c12 by id only time: "+elapsedMilliseconds(startTime));

    startTime = new Date().getTime();
    for (i = 0; i < 10000; i++)
    {
        s = $("div#idC12");
    }           
    $("#classResults").html("c12 by tagname#id: "+elapsedMilliseconds(startTime));
});

function elapsedMilliseconds(startTime)
{
    var n = new Date();
    var s = n.getTime();
    var diff = s - startTime;
    return diff;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/MhWUc/

javascript performance jquery google-chrome

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

Internet Explorer错误:SCRIPT5009:ArrayBuffer未定义

我在Internet Explorer 9中收到错误,在其他浏览器上不会出现错误.它的:

SCRIPT5009:'ArrayBuffer'未定义

我的代码如下

    var rawLength = raw.length;
    var array = new Uint8Array(new ArrayBuffer(rawLength));
    for(i = 0; i < rawLength; i++) {
           array[i] = raw.charCodeAt(i);
            }
Run Code Online (Sandbox Code Playgroud)

打破的线是 var array = new Uint8Array(new ArrayBuffer(rawLength));

有谁知道这是否有解决方案或解决方法?我要求我的功能适用于所有浏览器.

javascript browser arrays internet-explorer

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

javascript构造函数的差异

除了解析构造函数之外,这两者之间有什么区别吗?

var Person = function(living, age, gender) {
    this.living = living;
    this.age = age;
    this.gender = gender;
    this.getGender = function() {
        return this.gender;
    };
};

var Person = function Person(living, age, gender) {
    this.living = living;
    this.age = age;
    this.gender = gender;
    this.getGender = function() {
        return this.gender;
    };
};
Run Code Online (Sandbox Code Playgroud)

两者都可以使用

var p = new Person("Yes",25,"Male");
Run Code Online (Sandbox Code Playgroud)

第一个解析为function(),后者解析为person(),但我想知道使用一个优于另一个是否有任何优势

javascript

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

使用正则表达式将 JS 中的大字符串文字解析为对象数组

所以,我是编程新手,但我正在尝试学习 JavaScript。目前我工作的一个项目中,我试图解析大文本文件(莎士比亚的154首十四行诗发现这里)到一个对象数组,在数据结构如下:

var obj = {
property 1: [ 'value 1',
     'value 2',
    ], 
property 2: [ 'value 1',
     'value 2',
    ], 
Run Code Online (Sandbox Code Playgroud)

等等,其中罗马数字代表对象属性,十四行诗的每一行代表每个属性数组中的一个值。

我必须使用正则表达式来解析文本文件。到目前为止,我一直在寻找正确的正则表达式来划分文本,但我不知道我是否以正确的方式处理这个问题。最终我想创建一个下拉菜单,其中列表中的每个值都是一个十四行诗。

编辑:我实际上现在从这个 url 获取源文本:http : //pizzaboys.biz/xxx/sonnets.php

并执行与上述相同的操作,但我没有执行 $get 我已将文本放入变量中...

我试过这个:

$(document).ready(function(){
    var data = new SonnetizerArray();
});

function SonnetizerArray(){
    this.data = [];
    var rawText = "text from above link"
    var rx = /^\\n[CDILVX]/$\\n/g;

    var array_of_sonnets = rawText.exec(rx);
    for (var i = 0; i < array_of_sonnets.length; i ++){
        var s = $.split(array_of_sonnets[i]);
        if (s.length > …
Run Code Online (Sandbox Code Playgroud)

javascript regex arrays jquery object

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

为什么多次调用时,闭包函数中的javascript变量不会重置为默认值?

在下面的代码中,有人可以向我解释为什么多次调用会counter导致i每次调用时增加的值?

我的理解是,正如我们专门设置的i = 0;那样makeCounter,每次makeCounter通过counter变量调用时,i应该重置为0.我无法理解为什么不是这种情况.

function makeCounter() {
  // `i` is only accessible inside `makeCounter`.
  var i = 0;

  return function() {
    console.log( ++i );
  };
}

// Note that `counter` and `counter2` each have their own scoped `i`.

var counter = makeCounter();
counter(); // logs: 1
counter(); // logs: 2
Run Code Online (Sandbox Code Playgroud)

javascript closures scope

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

私有与公共Javascript函数

有人可以解释这两个功能之间的区别吗?

(function(Engine, $, undefined) { //hidden from scope
    //public function below
    Engine.Init = function() {
        console.log("IM PUBLIC");
    }

    //anonymous functions below
    function Login() {
        console.log("IM PRIVATE");
    }
})( window.Engine = window.Engine || {}, jQuery );
Run Code Online (Sandbox Code Playgroud)

具体来说,我想知道为什么Engine.Init()可用,ConsoleLogin不是.

javascript

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

object.addEventListener的useCapture参数的目的是什么?

我试图了解在Internet Explorer中添加addEventListener时的行为truefalse做法.根据微软的说法useCapture.如果我添加一个事件,例如:

element.addEventListener('click', function_name, true);
Run Code Online (Sandbox Code Playgroud)

它似乎没有改变任何东西,听众仍然有效.有谁能解释useCapture参数的目的吗?

javascript internet-explorer addeventlistener

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

如何在javascript中评论对象结构?

我使用以下语法来评论我的代码,

/*
 * @param variableName {variableType} Description
 * @return {returnType} Description
 */
Run Code Online (Sandbox Code Playgroud)

但我现在不知道如何为我的一个对象的构造函数注释我的代码,因为参数是一个对象,该对象的字典键本身就是一个参数以及该键的值.

我的参数结构如下;

assets: {

    fruits: {

        rootPath: "files/fruits/",

        images: {

            apple: "apple.png",
            kiwi: "kiwi.png",
            orange: "orange.png",
            peach: "peach.png",
            pear: "pear.png",
            strawberry: "strawberry.png",
            watermelon: "watermelon.png"
        }
    },
    humans: {

        audio: {

            atari: "http://www.universal-soundbank.com/mp3/sounds/18534.mp3"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我首先评论资产是一个对象

@param assets {Object}
Run Code Online (Sandbox Code Playgroud)

但是,我如何继续评论资产的属性本身就是一个价值.我理解这个问题可能有些偏离主题,但我只是想确保我的代码注释符合某种语法规则,而我无法在此问题上找到任何内容.

javascript comments

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

jquery中的on()函数不起作用

我正在使用jQuery制作动态按钮.现在我想将此按钮用作任何其他按钮.这是我的HTML:

<label class='twobuttons'><div id="submit-button" >GO!</div></label>
<div id='result'></div>
Run Code Online (Sandbox Code Playgroud)

这是我的JavaScript:

$(document).ready(function(){
    $('#submit-button').click(function(){
        $('#result').append("<label><div id='share' class='longbutton'>Share this route</div></label>");

        $('#result').append("<label><div id='goback' class='longbutton'>Create another one !</div></label>");
    });

    $('#share').on("click",function(){
        alert('hi');
    });

    $('#goback').on("click",function(){
        alert('hello');
    })
});
Run Code Online (Sandbox Code Playgroud)

我特意遇到问题$('#share').on(.

我尝试了这里on()建议的功能.但它没有用.是我的代码的小提琴.如果我错了,请纠正我.

html javascript jquery dom

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