在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中添加原型函数?
除非我的测试出现问题,否则当我在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)
我在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));
有谁知道这是否有解决方案或解决方法?我要求我的功能适用于所有浏览器.
除了解析构造函数之外,这两者之间有什么区别吗?
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。目前我工作的一个项目中,我试图解析大文本文件(莎士比亚的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) 在下面的代码中,有人可以向我解释为什么多次调用会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) 有人可以解释这两个功能之间的区别吗?
(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()可用,Console但Login不是.
我试图了解在Internet Explorer中添加addEventListener时的行为true或false做法.根据微软的说法useCapture.如果我添加一个事件,例如:
element.addEventListener('click', function_name, true);
Run Code Online (Sandbox Code Playgroud)
它似乎没有改变任何东西,听众仍然有效.有谁能解释useCapture参数的目的吗?
我使用以下语法来评论我的代码,
/*
* @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)
但是,我如何继续评论资产的属性本身就是一个价值.我理解这个问题可能有些偏离主题,但我只是想确保我的代码注释符合某种语法规则,而我无法在此问题上找到任何内容.
我正在使用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(.