在尝试调试一些有问题的JavaScript时,我发现在源文件中看起来像一个明显错误的行:
false++;
Run Code Online (Sandbox Code Playgroud)
我不明白的是为什么这个语句在所有浏览器中表现不同.
设计是否允许不同的浏览器以不同的方式处理相同的破解JavaScript?
我知道错误是什么以及如何解决它,但至少不应该规范的错误类型?
我可以在svg中使用矩形坐标中的百分比值,但不能在多边形中使用百分比值.有解决方法吗?
我的意思是,这没关系:
svg {
background: #ADF;
width: 300px;
height: 300px
}
rect {
stroke: black;
fill: #8FF;
}Run Code Online (Sandbox Code Playgroud)
<svg>
<rect x="10%" y="10%" width="80%" height="70%"/>
</svg>Run Code Online (Sandbox Code Playgroud)
但这不起作用:
svg {
background: #ADF;
width: 300px;
height: 300px
}
polygon {
stroke: black;
fill: #8FF;
}Run Code Online (Sandbox Code Playgroud)
<svg>
<polygon points="20%,10% 10%,90% 80%,90%"/>
</svg>Run Code Online (Sandbox Code Playgroud)
Chrome抱怨道
错误:属性点:预期数字,"20%,10%10%,90%80 ......".
有没有办法可以用百分比坐标绘制填充多边形?
当我在Chrome中运行此代码时,我得到一个未捕获的TypeError:无法读取未定义的属性'concat'
function _log()
{
'use strict'
[this].concat(Array.from(arguments)).forEach(
function (obj) { console.log(obj) }
)
}
_log('foo', 'bar');
Run Code Online (Sandbox Code Playgroud)
我不明白为什么会这样.怎么可以[this]不定义?即使this未定义,[this]仍然应该是一个数组,不应该吗?
一个有趣的细节是,当我use strict从函数中删除行时,错误消失,代码按预期运行,将函数上下文和参数记录在一个新行上.
this在严格模式下使用关键字可能有些特别之处我不知道吗?
谢谢.
我正在使用Google的libphonenumber库来验证服务器端的电话号码,我注意到PhoneNumberUtil有两种方法可以做到这一点:isPossibleNumber和isValidNumber.它们之间有什么区别,我应该何时使用一个而不是另一个?
javascript ×2
css ×1
html ×1
java ×1
phone-number ×1
polygon ×1
strict-mode ×1
svg ×1
syntax-error ×1
this ×1