【前端学习 - JS (3)js运算符】

js运算符:

1-1 delete 运算符

delete 运算符用来删除对象属性或者数组元素,如果删除成功或所删除的目标不存在,delete 将返回 true。 然而,并不是所有的属性都可删除:

  • 一些内置核心和客户端属性是不能删除的
  • 通过 var 语句声明的变量不能删除
  • 通过 function 语句定义的函数也是不能删除的。

例如:

var o = { x: 1, y: 2};          // 定义一个对象
console.log(delete o.x);        // true,删除一个属性
console.log(delete o.x);        // true,什么都没做,x 在已上一步被删除
console.log("x" in o);          // false,这个属性在对象中不再存在
console.log(delete o.toString); // true,什么也没做,toString是继承来的
console.log(delete 1);          // true,无意义

var a = [1,2,3];                // 定义一个数组
console.log(delete a[2]);       // true,删除最后一个数组元素
console.log(2 in a);            // false,元素2在数组中不再存在
console.log(a.length);          // 3,数组长度并不会因 delete 而改变
console.log(a[2]);              // undefined,元素2所在的位置被空了出来
console.log(delete a);          // false,通过 var 语句声明的变量不能删除

function f(args){}              // 定义一个函数
console.log(delete f);          // false,通过 function 语句声明的函数不能删除

1-2 void 运算符

void 运算符可以应用于任何表类型的表达式,表达式会被执行,但计算结果会被忽略并返回undefined

例如:

void 0;
void "useless?";
void false;
void [];
void /(useless)/ig;
void function(){ console.log("useless?"); }
void alert(1)
// always return undefined

3-3 ++ -- 运算符

++ -- 递增递减运算符借鉴自 C 语言,它们分前置型和后置型,作用是改变一个变量的值。

例如:

var a = 5;
console.log(a++);   // 5   后加表不加
console.log(a);     // 6  
console.log(++a);   // 7   先加,都有加
console.log(a)      // 7
console.log(a--);   // 7
console.log(a)      // 6
console.log(--a);   // 5
console.log(a)      // 5

  (加号在前面,本身和表达式都加1;加号在后面,表达式不加1,本身加1 ),减法同理。

3-4 valueOf

var a = '你好', b = 1, c = [], d = {}, e = function (){}
a.valueOf()  // '好'
b.valueOf()  // 1
c.valueOf()  //[]
d.valueOf()  // {}
e.valueOf()  //ƒ (){}

3-5 +和-

"+" 操作符,如果有一个为字符串,那么都转化到字符串然后执行字符串拼接

"-" 操作符,转换为数字,相减 (-a, a * 1 a/1) 都能进行隐式强制类型转换

[] + {}     // "[object Object]"
{} + []     // 0
1 + true    //2
1 + false   //1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇六岁鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值