js随记1
- js的六种数据类型: String , Number , Boolean , Null , Undefined , Object
- /n 换行, /t制表符
- console.log(typeof a);//看a的类型
- NaN not a number,用typeof检查NaN返回的也是Number
- 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进行隐式的类型转换
- 转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);
- == 与 === 的区别: 会自动做类型转换,而=不会.
- 对于非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的原值
- 构造函数的执行流程:
- 立即创建一个新的对象
- 将新建对象设置为this,在构造函数中可以用this来引用新建对象
- 执行函数中的代码
- 将新建对象作为返回值返回
- this的情况
- 当以函数方式调用时,this是window
- 当以方法形式调用时,谁调用方法,this就是谁
- 当以构造函数方式调用时,this就是新创建的那个对象
- 原型: 每个函数都有自己的原型
- __proto__
- prototype
- console.log("name" in dog);原型中有也会返回true
- console.log(dog.hasOwnProperty("name"));只有本身有才会返回true
- js的内置对象Array
- 属性: length
- 方法: push()后面添加,pop()后面去除,unshift()前面添加,shift()前面去除;join()根据括号里的分隔符转成字符串;concat();slice();splice();
- 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 : 除了单词边界
我成功因为我志在成功
浙公网安备 33010602011771号