相关疑难解决方法(0)

Js split函数给出了错误的结果

我试图通过"##"分隔符拆分此字符串.

var historycookie = "8.4707417,77.0463719:Sector 14:Gurgaon##28.3952729,77.3238274:Sector 15:Faridabad";
var history = historycookie.split("##");
alert(history.length);alert(history[0])
Run Code Online (Sandbox Code Playgroud)

history.length警报是给我造成为6理想,但它应该是2,history[0]警惕是给不确定的.请帮助我,因为我无法理解为什么会发生这种情况.

javascript

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

JavaScript中数字变量的意外类型值

我今天只是随机练习JS代码,我把这行代码放到了代码中.

var name = 45;
console.log(typeof name);
Run Code Online (Sandbox Code Playgroud)

它告诉我变量名的类型是一个字符串.这很奇怪但是当我键入这个时,Name的类型是String:

var age = 45;
console.log(typeof age);
Run Code Online (Sandbox Code Playgroud)

但这里的变量年龄类型是Number.为什么我会观察到这种不一致?是一些约会还是这样的?

javascript

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

当页面上的其他人做什么时,为什么这个div不响应innerHTML?

当使用JavaScript设置div的innerHTML时,我只有一个div,我无法弄清楚为什么它没有设置...

我的<body>页面上有以下代码

<div style="width:50%; margin:0 auto;">
    <div id="name"></div>
    <div id="image"></div>
    <div id="description"></div>
</div>
<script>
    var url = window.location.href;
    var captured = /name=([^&]+)/.exec(url)[1];
    var result = decodeURI(captured);
    if (result != 'none') {
        var name = document.getElementById('name');
        name.innerHTML = "<p>" + result + "</p>";
        var description = document.getElementById('description');
        description.innerHTML = '<object data="descriptions/' + result + '.txt" style="font-family:Gotham, Helvetica, Arial, sans-serif"></object>'
        var image = document.getElementById('image');
        image.innerHTML = '<img style="float:left;" src="images/' + result + '.jpg">'
    }
    else {
        document.write('You have no items …
Run Code Online (Sandbox Code Playgroud)

html javascript

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

javascript对象表达式表示法无法正常工作

我是javascript语言的新手.格式是在网上给出的,我试过但它给出了未定义的结果.

var name = {
  a : 'a',
  b:'b',c:'c'
};
console.log(name.a);// undefined
console.log(name);// '[object object]'
Run Code Online (Sandbox Code Playgroud)

输出未定义?为什么

javascript object

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

浏览器控制台中的无限循环

谁能解释为什么这个结果是无限循环?

var name = true;
var soloLoop = function () {
  while (name) {
     console.log(name);
     name = false;
  }
};

soloLoop();
Run Code Online (Sandbox Code Playgroud)
  • 注1:只能在浏览器的控制台中复制.
  • 注2:只能用变量"name"重现.

javascript infinite-loop

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

如果JavaScript中的var定义了两次,解释器应采用哪个定义?

我是JavaScript的新手,正在尝试了解吊装和范围的概念。

情况1

var name;

function logName(num) {
  console.log(name, num);
}

logName(1);
name = "Auro";
logName(2);
Run Code Online (Sandbox Code Playgroud)

我在控制台中有以下输出

Auro 1
Auro 2
Run Code Online (Sandbox Code Playgroud)

如果我理解hoisting正确,那么JS引擎会首先提升变量的声明,然后自动为其赋值undefined。仅当遇到赋值(=)运算符时,它才实际为其分配预期值。

如果我的理解是正确的,则在第一次logName调用该函数时,该变量name应该已打印未定义,但它正在打印该值。

情况二

在控制台中输出:

Baner 1
Auro 2
Run Code Online (Sandbox Code Playgroud)

这让我更加困惑。在这里,对函数的第一个调用logName选择了对变量的后一个分配并打印Baner,但是,第二个调用选择了前一个分配,即Auro

这里发生了什么?我想念什么?

javascript scope var function hoisting

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

Javascript强制变量为字符串为什么?

考虑以下代码

<!DOCTYPE html>
<html>
<head>
<script>
     var name = 0;
        while ( name < 6 ) {
            console.log('Masha');
            name = name + 1;
            console.log(name);
        }

</script>
</head>
<body>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我希望Chrome开发者工具中的输出为:

Masha
name.html:9 1
name.html:7 Masha
name.html:9 2
name.html:7 Masha
name.html:9 3
name.html:7 Masha
name.html:9 4
name.html:7 Masha
name.html:9 5
name.html:7 Masha
name.html:9 6
Run Code Online (Sandbox Code Playgroud)

相反,我得到了

Masha
name.html:9 01
name.html:7 Masha
name.html:9 011
Run Code Online (Sandbox Code Playgroud)

为什么会这样?如果我直接复制/粘贴代码也会发生这种情况.如果我切掉它nname那么它确实有效.如果我将变量更改为myName它确实有效.为什么它被强制转换为字符串?我正在使用Version 57.0.2987.133 (64-bit)Chrome.它也发生在Firefox中52.0.2 (64-bits).

当我在节点或Internet Explorer中运行代码时,不会发生这种情况.

示例输出

javascript

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

标签 统计

javascript ×7

function ×1

hoisting ×1

html ×1

infinite-loop ×1

object ×1

scope ×1

var ×1