小编Tra*_*vis的帖子

如何制作一个可以影响任何值类型的方法?

警告:创建对本机对象和/或属性的扩展被视为错误形式,并且必然会导致问题.如果您不是仅为您使用的代码,或者您不知道如何正确使用它,请不要使用此代码


我知道你可以使用Object,String,Number,Boolean,等来定义一个方法,是这样的:

String.prototype.myFunction = function(){return this;} //only works on strings.
Run Code Online (Sandbox Code Playgroud)

但我需要做的是在任何值上使用它,并访问函数中的值.

我一派,看着这里,也没有找到什么合适.

2/18/15编辑:如果我使用这个是任何对象的属性,有没有解决方法Object.prototype
Per Request,这是当前用于的函数isString()

function isString(ins) {
    return typeof ins === "string";
}
Run Code Online (Sandbox Code Playgroud)

在几个答案之后,我想出了一些由它引起的代码和错误.

Object.prototype.isString = function() {
    return typeof this === "string";
}
"5".isString() //returns false
"".isString()  //returns false
var str = "string"
str.isString() //returns false
Run Code Online (Sandbox Code Playgroud)

javascript methods prototype object

25
推荐指数
4
解决办法
535
查看次数

confirm()如何在JavaScript中工作

我正在考虑今天JavaScript中的本机函数如何工作,我可以跨越alert()并且我认为它必须使用createElement()或创建一个元素并使用innerHTML,但我无法弄清楚创建一个弹出元素所需的完整代码,以及制作两个按钮,然后返回truefalse基于一次点击.
乔斯说:

通常JS是异步的; 为什么警报特别?它是如何以及为什么以与我自己的脚本不同的方式创建UI元素?

这是我想出的代码:

function confirm(message) {
    message = message.replace(/"\n"/g, "<br />")
    createElement();
//The create Element is very complicated to create the text box including message. . .
//These two functions are tied to the button's onclick's.
    function clickOkay() {
        valueToReturn = true
        return true;
    }
    function clickCancel() {
        valueToReturn = true
        return false;
    }
    //here, the user hits the button, and sets valueToReturn
    return valueToReturn;
}
Run Code Online (Sandbox Code Playgroud)

但我不明白它如何停止后台脚本,如果可访问,或createElement()如何工作,(但这是另一个问题)

html javascript alert function

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

p5.j​​s 旧帧不删除

使用名为 p5 的 javascript 框架,我试图为在屏幕上移动的圆设置动画,但是旧框架不会删除,这会导致画布上显示一条线。

var xPos = 0;

function setup() {
    createCanvas(400, 200)
    background(123);
}

function draw() {
    ellipse(xPos, height/2, 30, 30); //Draws the circle
    fill(255);
    xPos++; //Moves the circle a pixel over
    if(xPos > width){xPos = 0;} //resets the circle when it reaches the edge of the canvas
}
Run Code Online (Sandbox Code Playgroud)
<script src="http://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.5/p5.js"></script>
Run Code Online (Sandbox Code Playgroud)

javascript animation p5.js

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

让 parseFloat 将带有逗号的变量转换为数字

我试图让 parseFloat 将userInput( prompt) 转换为数字。

例如:

var userInput = prompt("A number","5,000") 
function parse_float(number) {
    return parseFloat(number)
}
Run Code Online (Sandbox Code Playgroud)

当 时userInput = 5,000parse_Float(userInput)返回5

但是,如果用户输入一个值来更改其他内容(即:进行银行存款或取款),那么我要正常工作,parse.Float(userInput)需要返回5000,而不是5。如果有人能告诉我如何做到这一点,那将对我有很大帮助。提前致谢。

javascript function parsefloat

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

node.js + mysql:“在已经将握手排队之后无法将握手排队。”

我正在尝试创建两个函数,一个从 SQL 数据库检索对象,另一个将对象保存到同一个 SQL 数据库。我正在使用node.jsmysql执行此操作。我有两个函数fetchEmployeeEmployee.save,分别获取和保存员工。然而,当我调用fetchEmployee,并且回调包含 时Employee.save,我收到错误Cannot enqueue Handshake after already enqueuing a Handshake.更奇怪的是,Employee.save似乎在引发错误之前运行。

编辑employee.save似乎运行是异步的症状,因为console.log("Saved!")在回调函数传递给之前调用,SQL.parse这意味着错误出现在parse. 另外,如果console.log("connection created");在 后面添加了inside parse con.connect,并且console.log("Made it out.");在 的末尾添加了con.connect,那么在调用 时Employee.save,控制台会输出> "connection created",然后抛出错误,这意味着保存查询永远不会完成,但错误会在之后抛出con.connect

Employee 类由以下定义

function Employee(obj) {
    /** Defines the Employee class
     * @arg obj.id : an integer; the employee's …
Run Code Online (Sandbox Code Playgroud)

javascript mysql runtime-error node.js

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

为什么这个'='语法在这个js片段中不正确?

var hungry = true;
var foodHere = true;

var eat = function() {
  if (hungry && foodHere === true) {
      return(true);
  } else {
      return(false);
  }`

};
Run Code Online (Sandbox Code Playgroud)

第一行是正确的语法.很长一段时间我只是说hungry && foodHere = true...我无法弄清楚(并且仍然不明白)为什么这是错误的.我理解=(赋值)和===(等于)之间的区别.我true最初将变量分配给了,所以我不会在if语句中询问它们是否被设置为什么?为什么我=要在var定义中设置变量,但是在检查它们时我正在使用该===值?

javascript

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