@Wangww0925
2019-08-07T07:54:39.000000Z
字数 2192
阅读 287
js-笔记
程序中的短语
复杂表达式是由 短的表达式 通过运算符进行连接而成
+ 加 - 减 * 乘 / 除 % 取余 + 正号 - 负号 ++ 自增1 -- 自减1
特殊:+ 既是数学运算,又是字符串连接符
字符串连接的优先级 > 数学运算,如:
console.log('100' + 2); // 返回 字符串1002
通过转换解决:
console.log(Number('100') + 2); // 返回 102
++ 的注意事项:
加完以后再输出:var index = 10;index++;console.log(index); // 返回 11先输出10在++:var num = 10;console.log(num++); // 返回 10先++在输出:var n = 10;console.log(++n); // 返回 11++ 的 小实例:var m = 5;var result = m++ + ++m; // 5|6 + 7|7 参与运算的 | m 的值console.log(result,m); // 返回 12 7
> 大于>= 大于等于< 小于<= 小于等于== 等于!= 不等于=== 恒等于!== 不恒等于+ 字符串连接符,返回字符串console.log('100' != 100); // 返回 falseconsole.log('100' === 100); // 返回 false
1. && 与 两端都为真才为真*console.log(true && true && false); // 返回 false2. || 或 两端有一端为真 即为真console.log(false || false); // 返回 false3. ! 非(取反) 真变假,假变真console.log(!0); // 返回 true4. 特殊:console.log(true && 100 > 90); // 返回 trueconsole.log(true && 'abc'); // 返回 abcconsole.log(true && false); // 返回 falseconsole.log(true || false); // 返回 trueconsole.log(true || 5); // 短路,返回 trueconsole.log(5 || true); // 短路,返回 5console.log(false | 5); // 短路,返回 5
& 按位与 两端都为1,才为1,否则为0console.log(10 & 8); // 返回 81010 101000 8---------------------1000 8实例: 奇数偶数判断function assert(n) {n & 1 ? console.log("n是奇数") : console.log("n是偶数");};assert(22);| 按位或^ 按位 异或(两个数不一样才是true)~ 位非 (需要补码) 取反-1<< 左移>> 右移
= 普通赋值: var index = 100;+= 先加10,再重新赋值index = index + 10;index += 10; 类似于index = index + 10;
1. ? 三元运算符: 与if(){}else{}类似
if(){}else{}用法:var index = 100;if(index > 60){console.log('大于');}else{console.log('小于');}三元运算法: boolean值 ? true的时候运行 : false的时候运行index>60 ? console.log('大于') : console.log('小于');
2. , 运算符:
var a,b,c;
3.typeof 返回表示数据类型的一个字符串
4.delete 删除:
删除变量:
var num = 100;delete num; // 无效; 报错console.log(num); // 100注意:1. 不能删除变量和函数,删除无效2. 在严格模式下,删除变量和函数会报错Uncaught SyntaxError: Delete of an unqualified identifier in strict mode.
删除对象:
var obj = {"type":"a","number":123};delete obj.number;console.log(obj); // {type: "a"}delete obj; // 无效 ; 报错console.log(obj); // {type: "a"}
删除数组:
var arr = [1,2,3,4];delete arr[2]; // 注意:删除数组中的某个值,应将数组重新遍历来去除无效console.log(arr); // [1, 2, empty, 4]
5.void 作用于超链接,将链接变成死链接;不常用
<a href="javascript:void(0)">谷歌一下</a>

按照正常的思维写是没问题的;需要改变优先级的情况 可以使用()
var s = (100+100) * (20-5);
作者 wendy
2019 年 5月 23日