zoukankan      html  css  js  c++  java
  • 2019.7.22JS初始内容的整理以及4道题目

     1、什么是JavaScript?
     一种脚本语言 解释性语言
     弱类型语言: 数据值决定变量的类型
     2、JavaScript由什么组成?
     核心ECMAScript
     DOM
     BOM
     3、运算
     string + number = string
     string + boolean = string
     number + boolean = number
     number + undefiend = NaN
     boolean + undefiend = NaN
     string + undefiend = string
     强制数据类型转换
     toString() 数据.toString() 将任何数据转换为字符串
     parseInt(数据) 将数据转换为整数型的number类型
     parseInt("2a5.a64") 2
     parseFloat(数据)
     parseFloat("1.9a2") 1.9
     Number(数据) 只要包含了非数字字符,返回NaN

     自增的算法
    var num = 5;
    console.log(num++);//5 先输出num 后++
    现在num值为6
    console.log(++num);//7
    console.log(num++ + ++num +num++);//25 7(8) + 9(9) + 9(10) =25


    两个数的交换
    var a = 123 ,b = 456;
    如何让a与b的数值进行交换?
     a = a + b;
     b = a - b;
     a = a - b;
     console.log(a,b)
    第二种办法
    var c;
    c = a;
    a = b;
    b = c;
    console.log(a,b);


    对于无限小数的处理
    var change = 2 - 1.6;
    console.log('找零:'+change);//此时输出台结果为0.399999~
     四舍五入解决误差 .toFixed(n) n 保留n为小数
    change = change.toFixed(2);
    console.log('四舍五入后:'+ change);//结果为0.40


    与,或,非。
    var bi = prompt("输入笔试成绩:");
    var face = prompt("输入面试成绩:");

    都能入职
    var isPass = (bi >= 60) && (++face >=60) ;
    console.log('是否能入职?'+isPass)

     笔试成绩和面试成绩有一个是100分就可以入职

    var isPass1 = bi==100 || ++face ==100;
    console.log('是否能入职?'+isPass1);
    console.log(bi,face)

     判断输入的数据是否为数字
    var input = prompt("请输入:");
    console.log('是不是一个数:'+ !isNaN(input) )


    位运算符 按位与& 按位或| 按位右移>> 按位左移 异或^
     & 按位 与 将两边的操作数转换成为二进制,每位的数字,只要对应都是1的时候,该位的结果才为1,否则该位结果为0
    var num1 = 5;
    var num2 = 3;
    var r = num1 & num2 ;
    console.log(r);//1
     5: 101
     3: 011
     ------------
     r: 001
     作用:判断奇偶性,比模的效率要高
     判断数字与 1 做按位与 ,最后的一位 1 为奇数 0为偶数
    console.log( (10 & 1) === 0 );//true偶数
    console.log( (9 & 1) === 0 );//false奇数
     10: 1010
     1 : 0001
     ----------
     0000
     11: 1011
     1 : 0001
     --------
     0001
     | 按位 或 将两边的操作数转换成为二进制,比较每位上的数字,两个数字中有一个是1,则该位的结果就是1 ,否则 0

    r = num1 | num2 ;
     5: 101
     3: 011
     ------------
     r: 111 7
     场合:向下取整 位运算一定会将数据转换为二进制,而小数会被转换为整数
    console.log(r);
    var num3 = 6.5;
    console.log(num3 | 0);
     6.5 ==> 6 110
     0 000
     ------
     r 110 6


     << 按位左移 ,将二进制数,向左移动几位 ,右面以0 补位
    console.log(2 << 1);// 4
    console.log(2 << 2);// 8
    console.log(2 << 3);// 16
    console.log(2 << 4);// 32
     0000 0000 0001 0000
     >> 按位右移 将二进制数,向右移动几位,左面以0 补位
    console.log(8 >> 1);//4
    console.log(8 >> 2);//2
    console.log(8 >> 3);//1
    console.log(8 >> 4);//0
     0000 0000 0000 0001


     ^ 异或 将两边的数字转换为二进制 进行比较,每位上的数字,只有一个为1时,该位结果才为1,否则0
    r = num1 ^ num2
    console.log(r);
     5: 101
     3: 011
     ------------
     r: 110 6
     交换num1 和num2的值
     num1 = num1 ^ num2;
    num1 ^= num2;
     num2 = num2 ^ num1;
    num2 ^= num1;
     num1 = num1 ^ num2;
    num1 ^= num2;
     num1 = num1 ^ num2;
     5: 101
     3: 011
    ------------
     num1: 110 6
     num2 = num2 ^ num1;
     3:011
     6:110
     ------
     num2: 101 5
     num1 = num1 ^ num2;
     6:110
     5:101
     --------
     num1: 011 3
    console.log(num1,num2);// 3 5


     ==与===的区别
     == 判断两个数据是否相等 值
     != 不等于, 判断两个数据是否不相等 值
     === 判断数值和类型是否完全相等
     !== 判断数值和类型是否完全不相等

     价格打折:用户输入消费金额,如果消费的金额>=100元,享受八折,输出实际付费金额
    var price = prompt("请输入消费金额:");
     左侧的表达式值为true则不执行右侧的表达式 反之则需要执行
    price >= 100 && (price = price *0.8);
    console.log('应收金额:'+price);


     请用户输入一段留言:如果输入了,就输出留言的内容,否则就输出:“主人很懒,什么也没留下”
     空字符串 可以当false使用
     undefined
     0
     0.0
     ""
    var msg = prompt("请输入留言:");
    或,左边写了则输出,没写则看右边
    var result = msg || ("主人很懒,什么也没留下");
    console.log(result);

     三目运算符
     需要三个操作数/表达式 表达式1 ? 表达式2 : 表达式3;
     表达式1:运算结果应该为boolean类型
     表达式1 = true 执行表达式2
     表达式1 = false 执行表达式3
     允许嵌套
    var score = prompt("输入成绩:");
    var msg = score >= 80 ? "优秀" : score>=60 ? "合格":"不及格";
    console.log(msg);


     1、弹出一个输入提示框,请用户输入一个表示工资的数字,按如下规则在控制台中输出改工资金额的级别:
     1)大于等于20000,显示 高工资
     2)小于20000大于等于8000 显示 中高工资
     3)小于8000 显示 普通工资
    var pri = prompt('工资为:');
    var re = pri < 8000?'屌丝': pri >= 8000 && pri < 20000?'白领': '高富帅';
    alert(re);

     2、体重健康指数(克莱托指数)计算公式如下:
     体重(kg)/身高的平方(m)
     20-25正常,20以下偏瘦,25以上偏胖
     例如:某人是60kg,1.7m。那就是:60/(17*17)=20.76,属于“正常
     ”体重;
    var wei = prompt('请输入体重:(kg)');
    var hei = prompt('请输入身高:(m)');
    var num = wei/(hei*hei);
    console.log(num);
    var world = num > 25?'大胖子': num < 20?'瘦猴': '标准身材';
    alert(world);



     3、要求用户输入一个四位数,将这个四位数的个,十,百,千位的数字单独输出来,并将他们的和求出来!
     例:用户输入2045,输出结果为:个位:5,十位:4,百位:0,千位:2,和为:11
    var num = prompt('请输入一个四位数:');
    var q = parseInt(num / 1000);
    var b = parseInt((num % 1000) / 100);
    var s = parseInt((num % 100) / 10);
    var g = parseInt(num % 10);
    alert('千位是:' + q + ' 十位是:' + b + ' 百位是:' + s + ' 十位是:' + g
    + ' 它们的和是:' + parseInt(q+b+s+g));



     4、商场为员工提供了基本工资(3000元)、物价津贴及房租津贴,其中物价津贴为基本工资的40%,房租津贴为基本工资的25%。编程计算实领工资
    var pay = prompt('请输入工资:');
    var house = parseInt(pay*0.4);
    var thing = parseInt(pay*0.25);
    alert('实际工资为:' + (parseInt(pay) + house + thing) + '你真是个屌丝!');

  • 相关阅读:
    Security headers quick reference Learn more about headers that can keep your site safe and quickly look up the most important details.
    Missing dollar riddle
    Where Did the Other Dollar Go, Jeff?
    proteus 与 keil 联调
    cisco router nat
    router dhcp and dns listen
    配置802.1x在交换机的端口验证设置
    ASAv931安装&初始化及ASDM管理
    S5700与Cisco ACS做802.1x认证
    playwright
  • 原文地址:https://www.cnblogs.com/awei313558147/p/11228475.html
Copyright © 2011-2022 走看看