2.jpg
數(shù)據(jù)類型幅虑、運(yùn)算符
- 數(shù)據(jù)類型
- 基本類型 Number(整數(shù),浮點(diǎn)數(shù)) String(字符串) Boolean(布爾)
- 特殊類型 Null(空) Undefined(未定義)
- 組合類型 Object
主要五種:number string boolean null undefined-
判斷類型:關(guān)鍵字 typeof
易錯類型
// alert(typeof(NaN));
// alert(typeof(undefined));
// alert(typeof(null));
// alert(typeof(true));
// alert(typeof(3));
// alert(typeof("hello"));
// alert(typeof(object));
// alert(isNaN(3));
// alert(isNaN(true));
// alert(isNaN(false));
// alert(isNaN(undefined));
// alert(isNaN("hello"));
// alert(isNaN(null));
// alert(parseInt(3232652.144411441));
// alert(parseFloat(192.168));
// alert(parseFloat("192.167.1.1"));
// alert(Number("444"));
// alert("3+3");
// alert(eval(3+a));
-
運(yùn)算符
- 表達(dá)式
- 算數(shù)運(yùn)算符
- 關(guān)系運(yùn)算符
- 賦值運(yùn)算符
易錯類型
/*alert(!true);//false
alert(!false);//true
alert(!0);//true
alert(!1);//false
alert(!2);//false
alert(!2>1);//false
alert(!null);//true
alert(!!10);//true*/
// var a = 6;
// alert(a>3&&a<5);
// alert(a>8&&a<6);
// alert(a>3||a<4);
// alert(a<7||a>2);
// alert(a>7||a<10&& a%3==0);
-
實(shí)例
很多代碼都是沒有優(yōu)化過的汁掠,僅供參考
- 入職薪水10K,每年漲幅入職薪水的5%戈轿,50年后工資多少启泣?
var a=10000;
var s = a;
for(var n=1;n<50;n++)
{
s = s + a*0.05
}
alert("50年后工資:"+s+"元");
- 為抵抗洪水,戰(zhàn)士連續(xù)作戰(zhàn)89小時亿蒸,編程計(jì)算共多少天零多少小時凑兰?
var h = 89;
var day = h / 24;
var a = h % 24;
alert("共抗洪" + parseInt(day) + "天零"+ a + "小時")
- 小明要到美國旅游掌桩,可是那里的溫度是以華氏度為單位記錄的。它需要一個程序?qū)⑷A氏溫度(80度)轉(zhuǎn)換為攝氏度姑食,并以華氏度和攝氏度為單位分別顯示該溫度波岛。
提示:攝氏度與華氏度的轉(zhuǎn)換公式為:攝氏度 = 5/9.0*(華氏度-32)
var hua = 80;
var she = 5 / 9.0 * (hua - 32)
alert("華氏"+ hua + "度等于" + she.toFixed(2) +"攝氏度")
- 給定一個三位數(shù),分別把這個數(shù)字的百位音半、十位则拷、個位算出來并顯示。
var threeDigitNum = 987;
var bai = parseInt(threeDigitNum / 100);
var shi = parseInt(threeDigitNum % 100 / 10);
var ge = threeDigitNum % 10;
alert(threeDigitNum + "可以寫成" + bai + "百" + shi + "十" + ge + "個" );
function myfunc(a){
if(a<1000&&a>99){
var bai = parseInt(a / 100);
var shi = parseInt(a % 100 / 10);
var ge = a % 10;
alert( a + "可以寫成" + bai + "百" + shi + "十" + ge + "個" )
}
else{
alert("請輸入三位數(shù)字曹鸠!")
}
}
myfunc(374);
myfunc(567);
myfunc(1000);
myfunc(97);
- 判斷一個整數(shù)煌茬,屬于哪個范圍:大于0,小于0彻桃,等于0
var intNum = parseInt(prompt("請輸入一個整數(shù):"));
if(intNum>0){
alert(intNum+"是屬于0~正無窮的正整數(shù)");
} else if (intNum<0) {
alert(intNum+"是屬于負(fù)無窮~0的負(fù)整數(shù)");
} else if(intNum==0){
alert(intNum + "是0");
}
- 判斷一個整數(shù)坛善,是偶數(shù)還是奇數(shù)
var intNum = parseInt(prompt("請輸入一個整數(shù):"));
if(intNum%2==0){
alert(intNum+"是偶數(shù)");
}else {
alert(intNum + "是奇數(shù)");
}
- 根據(jù)公式 (身高cm - 108)x2=體重斤,可以有十斤左右的浮動邻眷,判斷測試者的身體是否合適
var weight = parseInt(prompt("請輸入你的體重(斤):"));
var high = parseInt(prompt("請輸入你的身高(cm):"));
var standart = (high - 108)*2-weight;
if (standart <= 10 && standart >= -10){
alert("你的身高體重非常標(biāo)準(zhǔn)");
}else {
alert("你身體比例不當(dāng)");
}
- 已知圓的半徑眠屎,求圓的面積
var r = parseInt(prompt("請輸入圓的半徑(cm):"));
var s = r*r*Math.PI.toFixed(2);//保留兩位有效數(shù)字
alert("半徑為"+r+"cm的圓的面積為"+s+"平方厘米");
- 輸入年月日,求出該日期是當(dāng)年的第幾天(利用switch的穿透)
var year = parseInt(prompt("請輸入年份:"));
var month = parseInt(prompt("請輸入月份:"));
var day = parseInt(prompt("請輸入日期:"));
var sum = 0;
switch(month){
case 12:sum += 30;
case 11:sum += 31;
case 10:sum += 30;
case 9:sum += 31;
case 8:sum += 31;
case 7:sum += 30;
case 6:sum += 31;
case 5:sum += 30;
case 4:sum += 31;
case 3:(year%4==0&&year%100!=0 || year%400==0)?sum += 29:sum += 28;
case 2:sum += 31;
case 1:sum += day;
}
alert("今天是這一年的"+sum+"天肆饶,你好嗎")
-
個人所得稅計(jì)算器
Paste_Image.png
var salery = parseInt(prompt("你的工資為:"));
var rate = 0;
if (salery - 3500>0&&salery - 3500<=500) {
rate = (salery - 3500)*0.05 - 0;
} else if(salery - 3500>500&&salery - 3500<=2000){
rate = (salery - 3500)*0.1 - 25;
}else if(salery - 3500>2000&&salery - 3500<=5000){
rate = (salery - 3500)*0.15 - 125;
}else if(salery - 3500>5000&&salery - 3500<=20000){
rate = (salery - 3500)*0.2 - 375;
}else if(salery - 3500>20000&&salery - 3500<=40000){
rate = (salery - 3500)*0.25 - 1375;
}else if(salery - 3500>40000&&salery - 3500<=60000){
rate = (salery - 3500)*0.3 - 3375;
}else if(salery - 3500>60000&&salery - 3500<=80000){
rate = (salery - 3500)*0.35 - 6375;
}else if(salery - 3500>80000&&salery - 3500<=100000){
rate = (salery - 3500)*0.4 - 10375;
}else if(salery - 3500>100000){
rate = (salery - 3500)*0.45 - 15375;
}else{
alert("你不用交稅啦改衩,窮")
}
alert("你應(yīng)該繳納個人所得稅"+ rate + "元");
alert("你稅后工資為"+(salery-rate) + "元");
- 設(shè)計(jì)一個與電腦對戰(zhàn)的石頭剪刀布游戲
var thyNum = parseInt(prompt("請出拳(1.石頭 2.剪刀 3.布)"))
switch(thyNum){
case 1:alert("你出的石頭");break;
case 2:alert("你出的剪刀");break;
case 3:alert("你出的布");break;
default:alert("為何不出拳?")
}
//生成1-3隨機(jī)數(shù)
var comNum = Math.floor(Math.random()*3)+1;
switch(comNum){
case 1:alert("電腦出的石頭");break;
case 2:alert("電腦的剪刀");break;
case 3:alert("電腦的布");break;
}
if(comNum == thyNum){
alert("平局");
}else if(comNum == 1&&thyNum==3){
alert("你獲勝");
}else if(comNum == 1&&thyNum == 2){
alert("你輸了");
}else if(comNum == 2&&thyNum == 1){
alert("你獲勝");
}else if (comNum==2&&thyNum == 3){
alert("你輸了");
}else if (comNum == 3&&thyNum ==1){
alert("你輸了");
}else if(comNum==3&&thyNum==2){
alert("你獲勝");
}
- 依次輸入第一個數(shù)驯镊,計(jì)算符號燎字,第二個數(shù),顯示計(jì)算結(jié)果
var num1 = Number(prompt("第一個數(shù):"));
var symbol = prompt("請輸入符號");
var num2 = Number(prompt("第二個數(shù):"));
switch(symbol){
case "+":alert(num1+"+"+num2+"="+(num1+num2));break;
case "-":alert(num1+"-"+num2+"="+(num1-num2));break;
case "*":alert(num1+"*"+num2+"="+(num1*num2));break;
case "/":alert(num1+"/"+num2+"="+(num1/num2));break;
case "%":alert(num1+"%"+num2+"="+(num1%num2));break;
default:alert("你輸入的符號或數(shù)字有毛病");
}
- 之前用swift寫過的一個小游戲阿宅,猜數(shù)字,現(xiàn)在用js寫
var a = Math.floor(Math.random()*100+1);
var count = 1;
var msg = "";
do{
var b = parseInt(prompt("請猜一個1-100的整數(shù)"));
if (a != b){
msg = a>b?"再大點(diǎn)兒":"再小點(diǎn)兒";
alert(msg);
count++;
}
}
while(a!=b){
msg="對了";
alert(msg);
if(count>7){
document.write("共猜了"+count+"次笼蛛,你的智商該充值了");
}else{
document.write("共猜了"+count+"次洒放,你的才智過人");
}
}
- 打印乘法表(js不支持emoji就不搞怪叻)
var i = 1;
var j = 1;
for(i;i<10;i++){
for(j=1;j<=i;j++){
document.write(j+"*"+i+"="+(i*j)+"?");//?是一個大大的空格
}
document.write("<br />");
}
- 輸出一元錢兌換方案(方法和百錢白雞的差不多)
var oneJiao = 1;
var twoJiao = 2;
var fiveJiao = 5;
for(var x = 0;x>=0&&x<=2;x++){
for(var y = 0;y>=0&&y<=5;y++){
var z = 10-5*x-2*y;
if (z+5*x+2*y == 10&&z>=0){
document.write(x+"張五角、"+y+"張兩角和"+z+"張一角<br>");
}
}
}
- 求兩個數(shù)的最大公約數(shù)
var num1 = parseInt(prompt("請輸入第一個數(shù)"));
var num2 = parseInt(prompt("請輸入第二個數(shù)"));
var max = 1;
var a = num1 < num2 ? num1 : num2;
while (a > 1) {
if (num1 % a == 0 && num2 % a == 0) {
max = a;
break;
}
a -= 1
}
document.write(num1+"與"+num2+"的最大公約數(shù)是"+max);
- 輸入a,輸入最高位數(shù)滨砍,輸出a+aa+aaa+aaa+aaaaa+...=???的形式
var a = parseInt(prompt("請輸入a:"));
var wei = parseInt(prompt("請輸入最高位數(shù):"));
var s = 0;
var all = 0;
for(var i = 0;i<wei;i++){
s += a*Math.pow(10,i);
if(i<wei-1){
document.write(s+"+");
} else if(i==wei-1){
document.write(s+"=");
}
all += s
}
document.write(all);
- 輸出五位數(shù)的所有回文數(shù)(形如 11211 12321 12121...)
var hui = 11001;
var count = 0;
for(hui;hui<=99999;hui++){
var ge = parseInt(hui%10);
var shi = parseInt(hui%100/10);
var bai = parseInt(hui%1000/100);
var qian = parseInt(hui%10000/1000);
var wan = parseInt(hui/10000);
if(ge==wan&&shi==qian){
document.write(hui+"<br/>");
count ++;
}
}
document.write("共找到"+count+"個回文數(shù)");