Javascript零散知识点

Javascript零散知识点,常用常记,不断更新中

  1. javascript可以不写分号,但必须换行,不换行页面会报错.
  2. 书写的规范,每行结尾必须加分号,必须换行。
  3. console.log:在控制台中输出内容.
  4. prompt(“弹出的提示信息”):在页面上弹出一个输入框.
  5. typeof:判断数据类型。
  6. 变量的取值:
    • 0~9,a~z,A~Z,_,$,
    • 不能用关键字和保留字并且开头不能用数字。
    • 保留字是关键字的备用,保留字和关键字会有高亮,很容易辨别。
  7. javascript代码在执行的时候会先检查代码是否有错,检查没错的话再从上至下执行。
  8. 变量:用来存储数据,并且可以存储任意类型的数据。
  9. boolen:bool类型,判断对错。取值只有两个:true和false;
  10. undefined:为定义的。

  11. 创建变量时,当省略var时,会创建一个全局变量,不推荐使用.

    function test(){
    message = "hi"; // 全局变量。
    test();
    alert(message); //"hi"
    
  12. 五种数据类型:undefined、null、boolean、number、string以及object;
  13. 使用cmd+option+j可以打开console;
  14. 直接量:可以直接使用的数据;
  15. NaN: Not a Number:是计算发生错误时的一种状态,也是number类型的数据;

    • 判断是否是NaN的一个关键字:isNaN:是非数字;
    • 如果结果是NaN,那么isNaN返回的结果是true,如果不是,那么isNaN返回false;
    var a = "abc";
    console.log(isNaN(a)) //返回true
    
  16. 前自增:先自增,再运算;
  17. 后自增:先运算,再自增;
  18. 记忆诀窍:加号在前面(前自增)就是先加再计算,加号在后面(后自增)就是先计算再加;
  19. 逻辑运算符也有自己的优先级:> !&& > ||;
  20. prompt接受到的内容是string类型;
  21. 自增一一般就算两层,超过两层一般是不使用的(不同的开发环境,产生的结果也是不一样的);
  22. 数据类型转换:
  23. 显式转换

    • a.Number转换
    • 如果转换的内容本身不是一个数值类型的字符串,那么在转换的时候结果是NaN.
    • 如果要转换的内容是空的字符串,那以转换的结果是0.
    • 如果是其它的字符,那么将来在转换的时候结果是NaN.
    var a = "123"
    a = Number(a); //此时a的类型为number
    
    • parseInt()
    • 忽略字符串前面的空格,直至找到第一个非空字符,还会将数字后面的非数字的字符串去掉。
    • 如果第一个字符不是数字符号或者负号,返回NaN
    • 会将小数取整。(向下取整)
    var a = "123";
    a = parseInt(a) //此时a的类型为number
    
    • parseFloat()
    • 和parseInt完全一样,只是会保留小数点
    • b.String
    • 可以将其他的数据类型转换为字符串类型:a = String(a);
    • c.Boolean()
    • 可以将其他的数据类型转换为boolean值:a = Boolean(a);此时a的值只有true或false;
  24. 隐式转换

    • 转number:
    • 加减乘除都可以让字符串转换成number类型
    • 注意:使用”+”转换时,“+”号必须写在要转换的内容前面;
    • 转string:
    var a  = 123;
    a = a + ""; //此时a的数据类型为string
    
    • 转boolean:
    • 所有的数据都可以转换为boolean类型,值为true,除了false、0、””、NaN、undefined
    var a = 123;
    a = !!a;//此时a的数据类型为Boolean
    
  25. “==”只关注内容,而不关注数据类型;”===”(全等于)比较的是内容和类型;

  26. html、css代码不能调试,只有js代码能调试;
  27. switch-case流程控制语句中,case后面只能接具体的数值或内容;
  28. 如果所有的case都不满足,就执行default的内容
  29. default可以不写,而且不用写判断值(作用和else类似);
  30. 三元运算符:: a?b:c等价于一下代码:

    if    (a == true) {
       b;
      } else {
        c;
      }
    
  31. alert的参数只能是字符串.

  32. 要时刻注意prompt输入的内容是字符串内容,使用加法时一定要在通过prompt得到的数字前加”+”号;
  33. 无限循环的一种方式:

    while (true) {
     alert("这会不断弹出来");
     }
    
  34. if else语句中可以只有if语句,省略else语句;

  35. 堆和栈:
  36. 简单数据类型:内容和名称直接保存在栈中,
  37. 复杂数据内容:内容保存在堆中,名称和内容的地址保存在栈中;
  38. js中的数组可以存储任意类型的数据,包括对象;