第三章 表达式和运算符笔记摘要

表达式

JS中的一个短语,解释器会将其计算出一个结果。
变量名也是一种简单的表达式,它的值就是复制给变量的值。
复杂表达式:使用运算符,由简单表达式组成
原始表达式
表达式的最小单位,包含常量或直接量、关键字和变量

//直接量
1.23
"hello"
/pattern/

//保留字
true
false
null
this

//变量
i
undefined

* 对象和数组的初始化表达式*

var Array=[1,2,3];  
var matrix=[[1,2,3],[3,4,5],[7,8,9]];   //可以嵌套
var sparseArray=[1, , ,4];      //空位会填充undefined

var p ={x:2.3, y:-1.3};         //一个拥有两个属性成员的对象
var q={};
q.x=2.3;q.y=-1.3
var aquare={"upperLeft":{x:p.x,y:p.y},"lowerRight":{x:p.x+side,y:p.y+side}};        //可以嵌套

属性访问表达式

var o={x:1,y:{z:3}};
o.x=1;
o.y.z=3;
o["x"]=1;

var a=[o,4[5,6]];
a[1]=4;
a[2]["1"]=6;

a[0].x=1;

函数表达式

var fe=function(){};

调用表达式

func();

对象创建表达式

new Func(1,2);
new Object;

运算符

一元:+num
二元: a+b
三元: c?a:b

  1. 算术运算符
    +、-、*、%、/、++、–
1+2 //3
"1"+"2"     //"12"
"1"+2       //"12"
1+{}        //"1[object Object]"
true+true   //2
2+null      //2+0=0
2+underfined    //2+NaN

1+2+" blind mice";      //"3 blind mice"
1+(2+" blind mice");        //"12 blind"
  1. 赋值运算符
    =、+=、-=、*=、/=、%=
  2. 字符串操作
  3. 比较运算符
    ==、===、!=、!==、>、<、>=、<=
    严格相等”===”
    类型不同,不相等
    都是null或者undefined,不相等
    都是true或者false,相等
    一个NaN、两个都是NaN。NaN与任何值都不相等,包括它本身。(通过x!==x判断x是否为NaN,只有在x为NaN时,才得到true)
    数字和字符串比较
11<3    //false
"11"<3   //false
"11"<"3"  //ture ,Unicode字符编码标准按字符逐位顺序比较

5.逻辑运算符
&&、||、!

  1. 条件运算符(三步运算符)
    X<10? “X比10小”:”X比10大”
<body>
    <p>i=10,j=10;i+j=?</p> 
    <p id="sumid"></p>
    <button onclick="MySum()">结果是</button>
    <script>
        function MySum(){
            var i=10;
            var j=10;
            var m=i+j;
            document.getElementById("sumid").innerHTML=m;
        }
    </script>
</body>

7.in运算符
左边:字符串、可转换为字符串
右边:一个对象

var point={x:1,y:1};
"x" in point    //true
"z" in point    //false
"toString" in point     //true,对象继承了toString方法

/*只判断键值*/
var data=[7,8,9];
"0" in data     //true
1 in data       //true
3 in data       //false
<script>
    var i=[1,2,3];
    var j;
    for(j in i){
        document.write(i[j]+"<br/>");
    }
</script>

8.instanceof运算符
左边:对象
右边:类

var d=new Date();
d instanceof Date;      //true
d instanceof Object;    //true

var a=[1,2,3];
a instanceof Array;     //true
a instanceof Object;    //true

9.eval()

var geval=eval;
var x="global",y="global";
function f(){
    var x="local";
        eval("x+='changed';");   //eval更改了局部变量的值
    return x;
}
function g(){
    var y="local";
    geval("y+='changed';");     //geval更改了全局变量的值
    return y;
}
console.log(f(),x); //输出"local changed global"
console.log(g(),y);//输出"local global changed"

10.typeof运算符
返回值表示操作数类型
功能:
1.检查一个变量是否存在、是否有值
2.判不等于断一个值不等于undefined也不等于null
3.区分对象值和原始值
4.判断原始值的类型、是否是函数
分类:
undefined –>”undefined”
null –>“object”
true/false –>”boolean”
数字/NaN –>”number”
字符串 –>”string”
函数 –>”function”
(内置对象)非函数 –>”object”
宿主对象
11.delete运算符
删除操作。删除后不仅仅设置了undefined的值,但可以用in运算符检验是否存在。通过var语句声明的变量不能删除,function定义的函数和函数参数也不能删除

var o={x:1,y:2};
delete o.x; //删除对象属性,返回true 
typeof o.x; //"undefined"
"x" in o;   //false
delete o;   //o由var定义,不能删除,抛出异常

var a=[1,2,3];
delete a[2];
2 in a;     //false
a.length;   /*3 
            *删除了元素,依然留下了位置,数组长度并没有改变
            */  

12.void运算符

//通过给<a>的onclick绑定一个事件处理程序
<a href=""javascript:void window.open();">打开一个新窗口</a>

13.位运算符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值