我已经查看了stackoverflow上的所有问题和答案,但找不到简单的答案.
字符串和对象之间究竟有什么区别?
例如,如果我有这个代码:
var a = 'Tim';
var b = new String('Tim');
Run Code Online (Sandbox Code Playgroud)
究竟有什么区别?
据我所知,这new会使代码复杂化并new String减慢代码速度.
另外,我理解的a==b是true,但更严格的a===b是false.为什么?
我似乎无法理解对象和字符串创建背后的过程.例如:
var a = new String ('Tim');
var b = new String ('Tim');
Run Code Online (Sandbox Code Playgroud)
a==b 是 false
也许这是一个蹩脚的问题,如果是这样,我真诚地道歉.
我遇到了一个有趣的挑战.
<button onClick="myFunc()">Click Me</button>
<p id="test"></p>
<script>
function myFunc() {
var n = 15
var a = n.toString(); // outputs 15
var b = n.toString(2); // outputs 1111
var c = n.toString(9); // outputs 16
var d = n.toString(18); // outputs f
var e = n.toString(36); // outputs f
var total = a + "<br>" + b + "<br>" + c + "<br>" + d + "<br>" + e;
document.getElementById('test').innerHTML=total;
}
</script>
Run Code Online (Sandbox Code Playgroud)
我知道2将输出二进制值,18和36将输出十六进制值.但是当我放37时它不输出任何东西.
例如:
var f = n.toString(37);
Run Code Online (Sandbox Code Playgroud)
不输出任何东西. …
这对我来说就像一个无限循环.
var sM = "Hello" - "World";
console.log(sM) && console.log(typeof sM);
Run Code Online (Sandbox Code Playgroud)
我理解为什么字符串 - 字符串输出NaN,但后来"Hello" - "World" typeof是一个number.
这意味着用另一个字符串减去字符串会给你一个类型number.
那逻辑在哪里?
我有这个例子:
<p id="test"></p>
<button onClick="clearInterval(myVar)">Stop time!</button>
<button onClick="setInterval(myTimer, 1000)">Start time!</button>
<script>
var myVar = setInterval(myTimer, 1000);
function myTimer() {
var d = new Date();
document.getElementById('test').innerHTML = d.toLocaleTimeString();
}
</script>
Run Code Online (Sandbox Code Playgroud)
当我点击"停止时间!" 这是第一次按预期工作,但点击"开始时间!"后 我不能再停止计时器了.为什么会发生这种情况以及如何解决这个问题?
谢谢.
我正在制作一个小脚本,它将迭代数字并跳过数字5.我想用continue;语句/标签实现这一点.
这是我的代码:
<p id="test"></p>
<script>
var i, text;
text = "";
i = 0;
for (;i<8;) {
if (i === 5) {continue;}
text += "The number is " + i + "<br>";
i++;
}
document.getElementById('test').innerHTML = text;
</script>
Run Code Online (Sandbox Code Playgroud)
我没有看到任何拼写错误,但现在编码超过12个小时,也许我正在监督一些显而易见的事情.如果是的话,我道歉.
当我想使用break;语句停在第5位时,这有效.
<p id="test"></p>
<script>
var i, text;
i = 0;
text = "";
for (;i<8;) {
if (i === 5) {break;}
text += "The number is " + i "<br>";
i++;
}
document.getElementById('test').innerHTML = text;
</script>
Run Code Online (Sandbox Code Playgroud) 这段代码究竟有什么问题?
<p id="demo">Hello World!</p>
<script>
document.getElementsByTagName('P').style.backgroundColor = 'yellow';
</script>
Run Code Online (Sandbox Code Playgroud)
背景颜色没有变成黄色。