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) + '你真是个屌丝!');

  • 相关阅读:
    iTOP-4412开发板-串口基础知识和测试方法
    迅为i.MX6ULL终结者开发板-能想到的功能它都有
    Android4.4.2 源码编译-iMX6Q/D核心板-非设备树源码
    如何让Dev支持c++11特性
    2019年第十届蓝桥杯【C++省赛B组】
    upper_bound()和low_bound函数的基本使用和理解(转载,已获博主授权)
    C++的bitset(位操作使用),转载
    2018年第九届蓝桥杯【C++省赛B组】(未完)
    2013蓝桥杯预赛C/C++本科B组
    信用卡号验证
  • 原文地址:https://www.cnblogs.com/awei313558147/p/11228475.html
Copyright © 2011-2022 走看看