学习js笔记(1,2章)

数据类型

1115910-20170421145258915-667209283.png

隐式转换

num - 0    //转换为数字
num + ""    //转换为字符串

=== 判断类型相等(严格等于)
== 做隐式转换再比较
1115910-20170421145946165-1275919730.png
1115910-20170421150028181-419325192.png

包装对象

javascrpt隐藏机制:str是string(基本类型),本身是没有方法的。当把一个基本数据类型尝试当对象使用的对象使用的时候(当尝试把基本类型的str当做对象一样访问时,例如:str.length;),js解释器会产生一个临时包装类型对象(相当于new一个string),当完成访问之后,这个对象会被销毁掉;
1115910-20170421151626868-2114417534.png

类型检测

1115910-20170421151711196-439456088.png
1115910-20170421151747696-1463633369.png
1115910-20170421152307118-353887222.png
1115910-20170421152341743-1418246087.png
1115910-20170421152555056-151970689.png

/*
    编写arraysSimilar函数,实现判断传入的两个数组是否相似
*/
<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb18030">
    <title>Untitled Document</title>
    
</head>
<body>
    <script type="text/javascript">   
        /*
         * param1 Array 
         * param2 Array
         * return true or false
         */
        function type(a){
            return  a === null ? '[object Null]':Object.prototype.toString.apply(a); //hack ie678
        }
        function arraysSimilar(arr1, arr2){
            if(!Array.isArray(arr1) || !Array.isArray(arr2) ||arr1.length!=arr2.length){return false;}
            var arr3=[];
            var arr4=[];
            var x;
            for(var i in arr1){
                arr3.push(type(arr1[i]));
                arr4.push(type(arr2[i]));
            }
            if(arr3.sort().toString()==arr4.sort().toString()){
                return true;
            }else{
                return false;
            }
        }
    </script>
    <script src="testData.js"></script>
</body>
</html>

表达式

1115910-20170421155723352-711646721.png
1115910-20170422104114509-1988025320.png
1115910-20170422104217681-1698280242.png
1115910-20170422104631915-311967862.png
1115910-20170422104715274-1070519400.png
1115910-20170422104732118-979663866.png
1115910-20170422104818759-969962251.png
1115910-20170422104837290-1837587756.png

运算符

按操作数分

1115910-20170422105639915-234294108.png

按功能分

1115910-20170422105852368-121517005.png

特殊运算符

* 逗号运算符

1115910-20170422110019790-111575808.png
* delete运算符
1115910-20170422110522868-1397213696.png
从IE9开始, obj中必须configurable:true才可以删除,否则无效
1115910-20170422110625071-639159726.png
* in运算符
1115910-20170422110843477-709059743.png
* instanceof (返回bool类型,多用于判断对象类型,基于原型链)、typeof(返回的是一个字符串,多用于判断基本(原始)类型和函数对象)
1115910-20170422111710759-268738668.png
* new运算符,创造 构造器的 实例
1115910-20170422111547102-2107091242.png
* this运算符
1115910-20170422112453524-1661392678.png
* void运算符,无论后面的操作数是多少,都会返回一个undefined
1115910-20170422113311165-1532938943.png

运算符优先级

1115910-20170422113604243-407125165.png

总结

1115910-20170422113454509-1219589314.png

转载于:https://www.cnblogs.com/godot-blog/p/6746074.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值