js中 val value valueof的区别

JavaScript010

js中 val value valueof的区别,第1张

val()是jQuery方法,如:$("input:text").val(),或$("input:text").val("demo")

value是js对象的属性,如document.getElementById("demo").value,或document.getElementById("demo").value="demo"。

valueof是js对象的方法,如

var fruits = ["Banana", "Orange", "Apple", "Mango"]

var v=fruits.valueOf()

结果是:Banana,Orange,Apple,Mango

你的程序中存在一些逻辑问题和语法问题(编译都过不了)

1。MAX没定义

2。a未定义

3。ab,cd只要十位数不为0就可以,而你却判断成ab == 0,cd == 0了

4。逻辑不够清晰,最好有一个好的书写习惯和风格,再多一些注释

帮你改了个新的、正确的,供参考(没有改变你原有的变量名,最好要改一改):

void jsVal()

{

int i//计数

int cnt = 0 //满足条件的数的个数,初始为0

int b[1000] //用于存储满足条件的四位数,大小必须足够大。

int thou//千位数

int hun//百位数

int ten//十位数

int data//个位数

int ab//thou * 10 + ten

int cd//data * 10 + hun

//四位数,由于thou不能为0,data不能为0,所以就从1001开始就可以了,

//由于结果要从大到小排序,因此从大到小循环试值就可以,以免后期的排序

for(i = 9999i >= 1001i--)

{

thou = i / 1000 //原来代码中的a是没有声明的,应该是i

hun = i / 100 % 10

ten = i / 10 % 10

data = i % 10

if( thou == 0 ||//条件1:ab的十位(thou)不能等于0,由于最小数已经是1001了,所以这个判断可以不要,但作为完整示意,还是留下。

data == 0 ||//条件2:cd十位(data)不能等于0

ten % 2 == 0 || //条件3:ab为奇数,所以ab的个位(ten)应为奇数

hun % 2 == 0) //条件4:cd为奇数,所以cd的个位(hun)应为奇数

continue

ab = 10 * thou + ten

cd = 10 * data + hun

if( (ab <cd) && //条件1:ab <cd

(ab % 5 == 0 || cd % 5 == 0)) //条件2:ab,cd中至少有一个被5整除

b[cnt++] = i

}

}