js随记1

  1. js的六种数据类型: String , Number , Boolean , Null , Undefined , Object
  2. /n 换行, /t制表符
  3. console.log(typeof a);//看a的类型
  4. NaN not a number,用typeof检查NaN返回的也是Number
  5. JS进行float计算时,会返回一个不精确的值
    • a.toString(); Number,Boolean 转 String,Null,和Undefined没有toString()方法;
    • a = String(a); Number,Boolean调用toString()方法,null 返回"null",undefined返回"undefined"+
    • a = a + "";
    • Number(),转数字,String转数字,如果是纯数字则直接返回该数字,如果包含非数字,则返回NaN,如果是空字符串则返回0
    • Boolean转数字,true转1,false转0
    • Null转数字,0
    • undefined转数字,NaN
    • parseInt()转数字,parseInt("123aa23");返回123
    • parseFloat()转浮点数
    • 对于非字符串使用parseInt(),parseFloat()会将其先转成字符串
    • 十六进制0x开头,八进制0开头,二进制0b开头,二进制并不是所有的浏览器都兼容
    • parseInt(a,10);指定使用十进制
    • 可以用a=a-0,a=a*1,a=a/1进行隐式的类型转换
    • 可以用+a进行隐式的类型转换
  6. 转Boolean 函数Boolean()
    • 数字转Boolean,除了0和NaN返回的是false,其他的都返回true
    • 字符串转Boolean,除了""返回false,其他的都返回true,注意" "也返回true
    • null和undefined转Boolean都会返回false
    • 对象也会返回true
    • 可以用!!a进行隐式的类型转换
    • +,-,*,/,% 除了+,其他的运算符都会将其他类型的值先转成Number
    • undefined == null 返回的是true
    • NaN与任何比较都返回false,包括它本身
    • 检查一个变量是否为NaN,用函数isNaN(a);
  7. == 与 === 的区别: 会自动做类型转换,而=不会.
  8. 对于非Boolean值进行&&运算,会将其先转成Boolean值,然后返回原值
    • 如果都为true,则返回后边的原值; 如a = 1&&2, a的值为2; b = 2 & 1 ,b的值为1
    • 如果都为false,则返回前边的原值; 如 a = NaN && null ,a的值为NaN; b = "" && NaN,b的值为""
    • 如果一个为true,一个为false,则返回false的原值
  9. 构造函数的执行流程:
    • 立即创建一个新的对象
    • 将新建对象设置为this,在构造函数中可以用this来引用新建对象
    • 执行函数中的代码
    • 将新建对象作为返回值返回
  10. this的情况
    • 当以函数方式调用时,this是window
    • 当以方法形式调用时,谁调用方法,this就是谁
    • 当以构造函数方式调用时,this就是新创建的那个对象
  11. 原型: 每个函数都有自己的原型
    • __proto__
    • prototype
    • console.log("name" in dog);原型中有也会返回true
    • console.log(dog.hasOwnProperty("name"));只有本身有才会返回true
  12. js的内置对象Array
    • 属性: length
    • 方法: push()后面添加,pop()后面去除,unshift()前面添加,shift()前面去除;join()根据括号里的分隔符转成字符串;concat();slice();splice();
  13. js中的正则表达式
    • var reg = /a/ig; i:忽略大小写, g作用在全局 字符串中含有a
    • var reg = /[a-z]/ 字符串中含有a-z中的任意1个
    • var reg = /a{3}/ 字符串中包含连续的3个a
    • var reg = /a{1,3}/ 字符串中含有连续的1或3 个a
    • +:1个或多个
    • *:0个或多个
    • ?:0个或一个
    • var reg = /^a/ 字符串以a开头
    • var reg = /a$/ 字符串以a结尾
    • \d : [0-9]
    • \D : 除了[0-9]
    • \s : 空格
    • \S : 除了空格
    • \w : [0-9a-zA-Z_]
    • \W : 除了[0-9a-zA-Z_]
    • \b : 单词边界
    • \B : 除了单词边界
posted @ 2021-12-26 23:16  阿灿呀  阅读(34)  评论(0)    收藏  举报