我想传递我的函数的 size 参数,以便在同一个函数中使用,特别是在'if'语句中。
function text_size(size){
if (size = '1'){
alert('something')
}
else if (size = '2'){
alert('something else')
}
}
此函数在另一个函数内部调用(未编写整个函数):
if (newImg.height > 750, newImg.width > 750){
text_size('1')
}
else if (newImg.height < 500, newImg.width < 500){{}
text_size('2')
}
就目前而言,无论参数如何,它总是会发出“某事”的警告。
答案 0 :(得分:4)
简答:
将if (size = '1'){
更改为if (size == '1'){
(对于第二个,请执行相同操作)。
更长的回答:
size = '1'
将size
设置为'1'
并评估为'1'
,在javascript中评估为true
。这使得第一个if
语句中的代码始终运行。
答案 1 :(得分:2)
function text_size(size){
if (size === '1'){
alert('something')
}
else if (size === '2'){
alert('something else')
}
}
=为变量赋值
==在==
的左右条件之间进行断言===做= =但也要检查类型(字符串,整数等)
答案 2 :(得分:2)
if (newImg.height > 750, newImg.width > 750){
text_size('1')
}
应该是(逻辑地使用,for或for ||):
if (newImg.height > 750 && newImg.width > 750){
text_size('1')
}
答案 3 :(得分:0)
正如@Tzach所说,问题来自
if (size = '1'){
您必须改为使用size == '1'
。
为什么呢?因为如果你只使用一个'='
,意味着你正在做一个配合:
var size = 0;
if (size = 1){...}
alert(size); //size is now equal to 1
var size = 0;
if (size == 1){...}
alert(size); //size is equal to 0