@Wangww0925
2019-08-07T07:54:39.000000Z
字数 2192
阅读 204
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); // 返回 false
console.log('100' === 100); // 返回 false
1. && 与 两端都为真才为真*
console.log(true && true && false); // 返回 false
2. || 或 两端有一端为真 即为真
console.log(false || false); // 返回 false
3. ! 非(取反) 真变假,假变真
console.log(!0); // 返回 true
4. 特殊:
console.log(true && 100 > 90); // 返回 true
console.log(true && 'abc'); // 返回 abc
console.log(true && false); // 返回 false
console.log(true || false); // 返回 true
console.log(true || 5); // 短路,返回 true
console.log(5 || true); // 短路,返回 5
console.log(false | 5); // 短路,返回 5
& 按位与 两端都为1,才为1,否则为0
console.log(10 & 8); // 返回 8
1010 10
1000 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日