小编sup*_*r11的帖子

Javascript:String vs. Object

我已经查看了stackoverflow上的所有问题和答案,但找不到简单的答案.

字符串和对象之间究竟有什么区别?

例如,如果我有这个代码:

var a = 'Tim';
var b = new String('Tim');
Run Code Online (Sandbox Code Playgroud)

究竟有什么区别?

据我所知,这new会使代码复杂化并new String减慢代码速度.

另外,我理解的a==btrue,但更严格的a===bfalse.为什么?

我似乎无法理解对象和字符串创建背后的过程.例如:

var a = new String ('Tim');
var b = new String ('Tim');
Run Code Online (Sandbox Code Playgroud)

a==bfalse

javascript string jquery object

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

为什么.toString范围限制为36?

也许这是一个蹩脚的问题,如果是这样,我真诚地道歉.

我遇到了一个有趣的挑战.

    <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)

不输出任何东西. …

javascript string jquery integer

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

为什么"字符串" - "字符串"NaN?

这对我来说就像一个无限循环.

var sM = "Hello" - "World";
console.log(sM) && console.log(typeof sM);
Run Code Online (Sandbox Code Playgroud)

我理解为什么字符串 - 字符串输出NaN,但后来"Hello" - "World" typeof是一个number.

这意味着用另一个字符串减去字符串会给你一个类型number.

那逻辑在哪里?

javascript typeof nan

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

为什么clearInterval只能工作一次?

我有这个例子:

<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)

当我点击"停止时间!" 这是第一次按预期工作,但点击"开始时间!"后 我不能再停止计时器了.为什么会发生这种情况以及如何解决这个问题?

谢谢.

html javascript jquery

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

为什么继续; 语句冻结浏览器?

我正在制作一个小脚本,它将迭代数字并跳过数字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)

javascript iteration loops

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

为什么 getElementsByTagName 不起作用?

这段代码究竟有什么问题?

<p id="demo">Hello World!</p> 

<script>
document.getElementsByTagName('P').style.backgroundColor = 'yellow';
</script>
Run Code Online (Sandbox Code Playgroud)

背景颜色没有变成黄色。

javascript jquery

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

标签 统计

javascript ×6

jquery ×4

string ×2

html ×1

integer ×1

iteration ×1

loops ×1

nan ×1

object ×1

typeof ×1