我是Javascript的超级新手。我试着编写一个按顺序记录数字的脚本,最后告诉我最终的数字是偶数还是奇数。
我拥有的是:
var i = 0;
do {
i++;
console.log(i)
}
while (i <= 9);
if(i % 2 = 1) {
console.log("odd")
}
else {
console.log("even")
}
在我添加if / else之前,它有效。现在我一直收到错误:分配中的左侧无效
我做错了什么?为了真正展示我的无知,任务的左手边是什么?
谢谢!
答案 0 :(得分:4)
首先,在检查余数时,您将需要使用双等号(==
)或三等号(===
),因为使用单一等号(=
)为变量赋值。
==
和===
之间的差异:
===
比==
更严格,因为===
检查值AND类型,而==
只检查值。
示例:
if(1 == '1') // true
if(1 === '1') //false : their types are different.
其次,您可能希望在if
循环中包含do-while
语句,以便在记录每个数字后获得even
或odd
的输出。
以下是最终结果:
var i = 0;
do {
i++;
console.log(i);
if(i % 2 === 1) {
console.log("odd");
} else {
console.log("even");
}
} while (i <= 9);
答案 1 :(得分:2)
而不是=
,而==
条件中if
应为if(i % 2 == 1) {
console.log("odd")
}else {
console.log("even")
}
。
答案 2 :(得分:2)
如果条件来自if(i % 2 ==1)
,您需要更改
到
Base.@pure recursive_unitless_eltype(a) = recursive_unitless_eltype(eltype(a))
Base.@pure recursive_unitless_eltype{T<:StaticArray}(a::Type{T}) = similar_type(a,recursive_unitless_eltype(eltype(a)))
Base.@pure recursive_unitless_eltype{T<:Array}(a::Type{T}) = Array{recursive_unitless_eltype(eltype(a)),ndims(a)}
Base.@pure recursive_unitless_eltype{T<:Number}(a::Type{T}) = typeof(one(eltype(a)))
答案 3 :(得分:2)
如果它表示无效的左侧,则表示您正在尝试为左侧的某个值指定值。你用过 -
if(i % 2 = 1)
但是,=是赋值运算符,它基本上为左侧的变量赋值。你需要的是==这是一个比较运算符,因为你试图比较两个值。
这应该是你的代码 -
if(i % 2 == 1)
答案 4 :(得分:1)
==
因为=
用于相等比较,而 // Make the REST call, returning the result
$response = curl_exec($this->curl); // result is as per screenshot below
$resp_json = json_decode($response, true);
echo "<pre>";
print_r($resp_json); // display nothing
echo "</pre>";
用于分配值。
答案 5 :(得分:1)
所以代码中的问题是,你正在使用赋值运算符&#34; =&#34;在你的if条件中,改为使用&#34; ==&#34; (比较运算符)。
您可以在Javascript中找到有关比较运算符的更多信息: https://www.w3schools.com/js/js_comparisons.asp