• JS课堂笔记


    .

    1、什么是JavaScript?
    一种脚本语言 解释性语言
    弱类型语言: 数据值决定变量的类型
    2、JavaScript由什么组成?
    核心ECMAScript
    DOM
    BOM
    3、怎么使用JavaScript?
    在Script对标签中写js代码
    在外部js文件中写js 代码 需要将js文件引入
    在标签的属性(事件属性等)里面写js代码 不推荐
    4、变量
    在内存中声明的一段可以存储可变化的量
    var 变量名 = 值;
    变量名的命名规范:
    不能用数字开头
    允许用 数字、字母、下划线 和 $
    不能使用关键字和保留字
    驼峰
    $name
    数据类型
    number 小数和整数 可以表示32位的整数 可以表示64位的浮点数
    string 需要用 "" 或''包括的就是字符串类型一个字符占两位
    boolean
    undefined
    null
    引用数据类型
    var a = 1 "1"
    运算
    string + number = string
    string + boolean = string
    number + boolean = number
    number + undefiend = NaN
    boolean + undefiend = NaN
    string + undefiend = string

    js的函数
    isNaN(数据) 检测数据是否为 非数字
    强制数据类型转换
    toString() 数据.toString() 将任何数据转换为字符串
    parseInt(数据) 将数据转换为整数型的number类型
    parseInt("2a5.a64") 2
    parseFloat(数据)
    parseFloat("1.9a2") 1.9
    Number(数据) 只要包含了非数字字符,返回NaN

    二.算术运算符

    算术运算符  + - * / %  ++ --

    ++ /--  作为前缀 先自增/自减在使用   作为后缀 先使用在自增/自减

    var num 5 ;

    num++;// num = num + 1
    console.log(num);    6   
    console.log(num--);       6
    console.log(num);       5
    console.log(++num);     6

    var r = num++  +  ++num  +  num++;   

    console.log(r)     22

    console.log(num)    9

    num++6  自加1 然后用于下一个运算 7

    ++num  8  自加1  然后用于下一个运算  8

    ++ num  8   自加1 (9)

    优先级 先 * / % 再 + - 如果想提升优先级 使用()

    35+ 2*18/3 + 12/6%4;              49

    (35+ 2)*18/(3 + 12)/6%4;        3.4  

    四舍五入

    // 四舍五入解决误差 .toFixed(n) n 保留n为小数

    var change = 2 - 1.6;
    console.log('找零:'+change);
    change = change.toFixed(2);
    console.log('四舍五入后:'+ change);

    判断奇偶性 请用户输入一个数 判断是奇数还是偶数
    var inputNum = prompt("请输入一个数:");
    console.log("奇数?"+ (inputNum%2) );

    三  关系运算符

    >  <    >=  <=    ==    !=   ===    !==  最后的结果一定是boolean类型

    var str = '100';
    var n = 100;

    1.string 和 number 判断大小时, 将字符串隐式转换为number类型  用Number()函数

    console.log(str>5);    true

    2.任何一个数据与NaN进行比较时,结果一定都是false  (*30a会被转换为NaN)

    console.log('30a'>5)     flase

    3.string和string之间判断大小 根据每个字符的unicode码作比较

    console.log('a'>'b');    (a 的 ASCII97  b   98)

     四.位运算符

    1.按位与 &

    将两边的操作数转换成为二进制,每位的数字,只要对应都是1的时候,该位的结果才为1,否则该位结果为0
    只能做数字的运算,且要将数字转换为二进制,在做运算

    var num1 = 5, num2 = 2;
    var r = num1 & num2 ;
    console.log(r); // 1

    // 5 二进制: 101
    // 2 二进制: 010

    //       r        000

    作用:判断奇偶性,比模的效率高,判断数字与1,做按位与,最后的一位 1为奇数,0 为偶数

    console.log((10 & 1) === 0 ); // true
    console.log((9 & 1) === 0); // flase
    10 二进制    1010
     1   二进制   0001
        结果         0000


    2.按位或  |

    将两边的操作数转换成为二进制,有一个是1,则该位的结比较每位上的数字,两个数字中果就是1 ,否则 0 

    var num1 = 5, num2 = 2;
    var r = num1 & num2 ;
    console.log(r);

    5 二进制:   101
     7 二进制:  010
          r          111  7

    向下取整,位运算一定会将数据转换为二进制,而小数会被转换为整数
    var num3 = 6.5;
    console.log(num3 | 0);
     6.5 == > 6    110
                   0     000
                          110    6

    3.按位左移

    << 按位左移,将二进制数,向左移几位,右边以0补位,

    console.log(4 << 2)   向左移动两位    

    0000 0000 0100   (4) ---->> 0000 0001 0000   (16)

    4.按位右移

    console.log(8 >> 2)   向右移动两位    

    0000  0000 1000  (8)  -----> >  0000 0000 0010  (2)

    5.异或  

    将两边的数字转换为二进制 

     进行比较,每位上的数字,只有一个为1时,该位结果才为1,否则0

    var num1 = 5;
    var num2 = 2;

    r = num1 ^ num2
    console.log(r);      7

    *交换num1 和num2的值

    num1 = num1 ^ num2;

    //num1 ^= num2;

    num2 = num2 ^ num1;

    //num2 ^= num1;

    num1 ^= num2;

    // num1 = num1 ^ num2;


    console.log(num1,num2);

    五.赋值运算符

    += -= *= /= %= &= |= ^=

    单目运算符
    // ++ -- !
    // 双目运算符
    // + - * / % && || ^ & | > <
    // 三目运算符

    表达式1 ? 表达式2 : 表达式3

      表达式1:运算结果应该为boolean类型
    // 表达式1 = true 执行表达式2
    // 表达式1 = false 执行表达式3
    // 允许嵌套

    判断成绩,如果成绩>=80 优秀
    >=60 合格
    <60 不及格*/

    var score = prompt("输入成绩:");
    var msg = score >= 80 ? "优秀" : score>=60 ? "合格":"不及格";
    console.log(msg);

  • 相关阅读:
    poj2752Seek the Name, Seek the Fame【kmp next数组应用】
    poj1961Period【kmp next数组】
    poj2406(kmp next数组)
    KMP原理
    0529
    0428
    2045年4月25日
    0421
    黄金连分数【大数】
    学习linux内核时常碰到的汇编指令(1)
  • 原文地址:https://www.cnblogs.com/zhanghaifeng123/p/11228464.html
Copyright © 2020-2023  润新知