Chrome没有't声明我的JavaScript函数
Chrome doesn't declare my JavaScript function
在Google Chrome上测试代码时出现问题,在Firefox上测试时没有任何问题。我有一个函数,我在onblur
事件中调用它。它在Firefox上运行良好,但谷歌Chrome在控制台上给了我这个错误
未捕获引用错误:未定义填充
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;
}
或者在一个简短的概念中,如果你只期望布尔值
function fill(element,value){
value = value || false;
注意-这两种情况都有遗漏-正如Fabrício Matté在评论中建议的那样,如果你想区分不通过参数和明确获得undefined
,你也可以检查arguments.length
,尽管这种情况很少发生。
尽管可选参数在EcmaScript 6方案中
(然而,即使在今天,Firefox也独立支持它们)
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 可以Resharper在我的javascript函数声明中添加分号
- 我应该如何声明我的自调用函数
- 我可以信任 JavaScript 中声明中的执行顺序吗?
- 为什么我的变量需要一个'var'声明,当它's已经在var声明中了
- 声明一个js变量,该变量将被我的2个jsp访问
- 构建现实世界的AngularJS应用程序,我应该如何在html中声明我的控制器.我需要在索引中声明所有.html吗?
- Chrome没有't声明我的JavaScript函数
- Javascript脚本获胜't用我的'否则如果'声明
- 我的createMinHeightBST函数中的JavaScript函数声明范围
- 如何禁用使用逗号的UglifyJS链接声明.我不能使用断点
- 在我的应用程序中声明和链接控制器时遇到麻烦
- 为什么我的全局变量在局部声明之前被遮蔽
- 如何编写我的小部件而不用在dojo.ready中声明它的代码
- 我如何找到<脚本>元素声明我的JavaScript
- AngularJS错误:在声明我的控制器时得到ng:areq错误参数
- 我应该在“both”中声明我的集合吗?文件夹中
- 为什么我的字符串声明的位置会影响我的html编码实体是否会正确显示
- ng-repeat不能用Object.create声明我的模型