javascript事件的值,哪些需要加引号哪些不需要呢?


<style>
    div {
        width: 300px;
        height: 300px;
        background-color: yellow;
    }
</style>

<body>
    <button>按钮</button>
    <div>123</div>

    <script>
        var btn = document.querySelector('button');
        var div = document.querySelector('div');
        btn.disabled = true;
        div.innerHTML = '哈哈哈';
        div.style.width = '50px';
    </script>
</body>

正在学习javascript,遇到一个小问题,添加事件中,比如btn的disabled的true就不需要加引号,而div的innerHTML和width修改的东西都需要加引号,为什么规则是这样的呢?有没有什么规则吗?

你得看你调用的东西要求什么值。disabled 要求是boolean 值所以你得传true,false. innerHtml 要求的是string 值并且你传的也是固定的数据(即,非变量)所以你得带‘’号。另外,因为js 有自动转换的功能,所以有的时候可能你传的不是要求的类型,但也能工作的情况。

总之,一个建议,在使用前你看看目标方法或者属性要求什么类型的数据,你相应的给这个类型的就不会出错了,也不用纠结带不带‘’了。