js学习笔记

网址:https://zh.javascript.info/js?map
注:网站的学习是基于use strict模式的,和ES5, ES6一致。

1. js基础知识

1.5 数据类型

总结很到位
7种原始类型
1种引用类型

1.6 和浏览器的交互

alert(xxx);
prompt("please input your name",  "aaa"); // "aaa"是输入框的默认内容
confirm("are you ready?");

两点限制:以上窗口出现的位置以及样式由各浏览器决定。

1.7 类型转换

很重要!经常用到!

- 字符串转换:
(1)alert()这种都是自动转换为字符串再输出;
(2)String(value)进行显示转换;

- 数字型转换:
(1)Number(value) - 可以显示转换;
(2)转换规则:

变成
undefinedNaN
null0
true/false1/0
string按原样读取;空字符串是0;如果转换出错则是NaN

- 布尔型转换(常用于真假值的判断):
(1)Boolean(value) - 可以显示转换
(2)转换规则:

变成
0, null, undefined, NaN, “”false
其他值true

(3)真假值的判断:if(), while()的括号里的内容都是先转为布尔值再进行判断的。

注意:
对undefined进行数字转换时,其结果是NaN而非0;
对"0"和只有 空格 的字符串进行布尔转换时,结果为true;

1.8 基础运算符,数学

1、求幂:**
2、 二元“+”的特殊性:当字符串和数字之间出现+时,从左往右计算:

alert(2 + 2 + "1"); // "41"
alert(" " +2 +1); // "21"

3、一元“+”的特殊性,和Number()作用一样,将其他类型转换为数字:

alert(+true);// 1
alert(+""); // 0

4、js中的 自增和自减也遵循 ++a先自增后引用,a++先引用后自增。

1.9 值的比较

这里有一些古怪的规则,不建议死记硬背,用的多了自然就记住了。
1、比较运算符始终返回布尔值;
2、字符串比较按照unicode编码大小逐个比较(“a” > “A”);
3、不同类型之间比较,会先都转换为数字再比较(所以 "0"等于0);
4、特别的,null==undefined是true,null===undefined是false;
5、null 和undefined与其他任何值做相等性检查(==)时不转换为数字;

1.10 条件分支:if 和 ‘?’

1、if()语句会将()里的表达式转换成布尔值,所以对于if(a),根据转换规则,只有a不是 0, null, undefined, NaN, “”,该if的()内为true, 对应的语句块就会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值