js其他运算符

(?:)是一个三元运算符

(?:)跟if有些相似   可以用作 if...else 语句的快捷方式

条件? 结果1: 结果2;这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2。满足条件时结果1否则结果2

var b='gf';

(b == 'gf') ? a="true" : a="false";

console.log(a); 

输出 --------------------------- true

 

var b=true;

(b == false) ? a="true" : a="false";

console.log(a); 

输出 --------------------------- false

 typeof

typeof 可以用来检测给定变量的数据类型,可能的返回值:1. 'undefined' --- 这个值未定义;

2. 'boolean'    --- 这个值是布尔值;

3. 'string'        --- 这个值是字符串;

4. 'number'     --- 这个值是数值;

5. 'object'       --- 这个值是对象或null;

6. 'function'    --- 这个值是函数。

var aa = 'my name is gaofan';   

           console.log(typeof aa);    

           console.log(typeof 6);  

输出 // string
     // number

 delete

delete是一个一元操作符 它用来删除对象属性或数组元素

var num = {x :1,y:2,k:3};
delete num.x;
    console.log(JSON.stringify(num))

输出{"y":2,"k":3}

 

var num = [1,2,3];
delete num[2]; // 删除数组最后一个元素
    console.log(JSON.stringify(num))

输出[1,2,null]

 删除数组   数组长度么有改变   数组长度依然是3

 viod()是一个一元运算符   操作数可以是任意数据类型   忽略计算结果返回undefined

 <a href="javascript:void window.open();">打开一个新窗口</a>  

 eval()只有一个参数 如果传进去的参数不是字符串 他直接返回这个参数 如果参数是字符串他会把字符串当成js代码来进行编译

function a(){ 
 eval("var x=1"); 
 console.log(x); 
} 
a(); 
console.log(x);
/*第一个console.log()函数能够弹出1第二个会因为x未定义而报错
eval()函数并不会创建一个新的作用域,并且它的作用域就是它所在的作用域*/

 全局eval()可以申明或者改变变量

var globalEval = eval;     //定义全局eval函数别名
var a ='global'    //全局变量
function c(){
  var a = 'jimi,';      //局部变量
eval('a+="gaofan"');  //直接更改局部变量的值
 return a;      //返回更改后的局部变量
}
console.log(c());            //localchanged

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值