【发布时间】:2017-04-05 15:26:03
【问题描述】:
本网站上关于我的问题的其他答案没有帮助。希望能得到另一种看法。
我收到了这条消息:“将此与之前的 var 语句结合起来。var changeText = paragraph[1].style.fontStyle = "italic";"
我正在关注 YouTube 上的教程,我的代码与视频中该人的代码相匹配。我不得不添加“用户严格”;因为我是由 JSLint 指示的。但其他一切都是一样的。
为什么这段代码不起作用?
这是我的 HTML:
function changeStyle() {
"use strict";
var paragraph = document.getElementsByTagName("p");
var changeText = paragraph[1].style.fontStyle = "italic";
}
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>JS Tutorials-2</title>
<meta name="js tutorials-2" content="js tutorials-2">
<link rel="stylesheet" href="js-tutorials-2.css">
</head>
<body>
<header>
<div class="banner"><h1 id="head">Javascript</h1></div>
<div class="banner2"><h1 id ="another-head">The Adventure Begins</h1></div>
</header>
<p id = "para2">Text Goes Here </p>
<p id = "para3">Text Goes Here</p>
<p id = "para4">Text Goes Here </p>
<p id = "para5">Text Goes Here</p>
<button onclick = "changeStyle()">Submit</button>
</body>
【问题讨论】:
-
这只是一个 JSLint 警告。它与代码的实际执行无关。例如:linterrors.com/js/combine-this-with-the-previous-var-statement
-
来自该链接:“JSLint 不允许您在块之外简单地拥有多个变量语句,这只是作者 Douglas Crockford 首选的编码约定。” - 我不同意该编码约定,并且更喜欢多个
var组用于相关变量。例如,我可能有var grid = [...]; var x, y;... 归根结底,编码约定只是一个见仁见智的问题,它们更像是指导方针而不是实际规则。 -
@NiettheDarkAbsol 所说的 - 一定要阅读 Crockford 并理解 为什么 他使用某些约定,然后自行决定是否同意。不要盲目地应用它们而不知道它们是什么以及它们为什么存在。
标签: javascript jslint