标签:
1.Write an efficient function in javascript. This function must receive a number as its only argument and return true if that number is divisible by 3, otherwise it must return false. You cannot use the operators / (division) and % (module).
1 <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 2 <html> 3 <head> 4 <title>divisible by 3</title> 5 <Script language="JavaScript" type="text/javascript"> 6 7 function chk() { 8 var intxt1 = document.getElementById("txt1").value; 9 if(td(intxt1) == 1) { 10 alert("false"); 11 }else{ 12 alert("true"); 13 } 14 } 15 16 function td(num){ 17 if(num.length == 1) { 18 if(num == 3){ 19 return 0; 20 }else if(num == 6){ 21 return 0; 22 }else if(num == 9){ 23 return 0; 24 }else{ 25 return 1; 26 } 27 }else{ 28 var numString = num.toString(); 29 var arrNum = []; 30 var item = ""; 31 for(var index = 0; index < numString.length; index++) { 32 item = item + numString.charAt(index); 33 if(item.length > 0 || index == numString.length - 1) { 34 arrNum.push(item); 35 item = ""; 36 } 37 } 39 var numd = eval(arrNum.join(‘+‘)).toString(); 40 return td(numd); 41 } 42 } 43 </Script> 44 </head> 45 <body> 46 <input type=text id="txt1"> 47 <input type=button value="判断" onClick="chk()"> 48 </body> 49 </html>
某个笔试题。。。可怜我Tomcat还没配置好,debug只能靠网页。。。
中间问题太多了,啥都不懂。。。
function td(num){}这个函数收进来的num到底是什么类型的数据?为什么?
var numd = eval(arrNum.join(‘+‘)).toString();加了toString()才正常递归了。
感觉像是字符类型。
js用来处理业务逻辑靠谱吗?数据类型这么不清楚。
好吧,我承认一本JS的书都没看过,哈哈哈,先去补充一下基础知识。
标签:
原文地址:http://www.cnblogs.com/roger-h/p/4513556.html