gpt4 book ai didi

javascript - Chrome 没有声明我的 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-29 10:46:38 25 4
gpt4 key购买 nike

我在 Google Chrome 上测试代码时出现问题,在 Firefox 上测试时没有任何问题。我有一个函数,我在 onblur 事件中调用它。它在 Firefox 上运行良好,但谷歌浏览器在控制台上给了我这个错误

Uncaught ReferenceError: fill is not defined

HTML代码:

<input type="text" name="title" id="title" placeholder="mytitle" onblur='fill(this);'>

JavaScript 代码:

function fill(element,value = false){
if(element.value == ""){
$("#"+element.id).css('border-color','red');
}else{
$("#"+element.id).css('border-color','#56de56');
}
if(value == true){
if(element.value > 75 || element.value < 5)
$("#"+element.id).css('border-color','red');
}
}

并且我在该行之前和之后声明了 fill 函数,所以我面临着同样的问题。

最佳答案

EcmaScript,标准的JS基于5.1版本,不支持可选参数。

function fill(element,value = false){

没有按照您的预期进行。相反,您必须手动执行此操作:

function fill(element,value){
if(typeof value === 'undefined') {
value = false;
}

或者如果您只需要 bool 值,则用更短的概念

function fill(element,value){
value = value || false;

注意 - 这些都有它们遗漏的情况 - 正如 Fabrício Matté 在评论中建议的那样,如果你想区分未传递参数和获取 undefined,你还可以检查 arguments.length 明确表示,尽管这种情况很少见。

尽管可选参数在 EcmaScript 6 提案中

(但是,Firefox,does independently support them even today)

关于javascript - Chrome 没有声明我的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18280187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com