javascript之基本概念

来源:互联网 发布:武侠大宗师java gm工具 编辑:程序博客网 时间:2024/05/22 17:40

    基本数据类型有Null,Number,String,Boolean,Undefined,复杂的类型有Object。 可以用typeof检测数据类型,形式为typeof aaa或者typeof(aaa),typeof是一个操作符不是函数()不是必须的。
    typeof返回六种数据,undefined未定义的值,boolean布尔值,string字符串,number数值,function函数,object对象或null,null被认为是一个空的对象的引用。
    var m;//var a; alert(m)--->undefined,alert(a)--->出错。而typeof a----->undefined.
    其他格式可以通过Boolean()来转化为Boolean值,如Boolean("abc")==true;String非空字符串为true,Number非0数值为true,0和NaN为false,Object任何对象为true,
null为false,Undefined n/a(not applicable)为true,undefined为false。还可以直接用if("abc")返回true。if中自动执行了Boolean()。
    Number类型var a=55;十进制整数,还可以用八进制var a=070;十进制的56 ;var a = 079;无效解析为79;十六进制为0x,var a=0xA;为十进制的10;不管八进制还是十六进制都会转为十进制。浮点数0.1和.1是一样的,1.0和1.是一样的同样解析为1。10.0解析为10。精度为17为小数0.1+0.2不是0.3,而是0.30000000000000004。e表示10的阶乘,
3e-7==0.0000003。Number.MAX_VALUE为js的最大值,Number.MIN_VALUE为js的最小值。可用isFinite()判断是不是在最小值和最大值中间,是的话返回true。不是返回false。Infinity为正无穷,-Infinity为-无穷。NaN(not a number)为非数值的一个数值,NaN跟任何值都不相等,包括NaN.用isNaN()判断是不是数值或可以转换为数值。
isNaN(NaN)-->true,NaN不是数值,isNaN("10")-->false因为“10”可以转换为10;isNaN(true)-->false因为true可以转化为1.
    数值转换,Number(),parseInt(),parseFloat().Number()可用于任何类型的转换,另外两个是把字符串转为数值。Number()把true和false转为1和0,null转为0,undefined转为NaN,字符串内容是数字(0x开头的十六进制数转为十进制)转为数字,空转为0,其他转为NaN。parseInt()转换是最好加上后面的数字代表什么进制,如parseInt("10",2)代表2进制的10,就是十进制的2.十六进制可以省略0x如parseInt("a",16)。parseInt("1234s")为1234,parseInt()就是从字符串第一个字符开始读,读到不是数字为止,空字符串或解析不了的为NaN。parseFloat()只解析十进制,只解析第一个小数点,解析不了为NaN。
    toString()是把其他字转为字符串,null和undefined没有这个方法,但是可以用String()来转换,String(null)或String(undefined)。数值toString()可以再括号中加进制,如toString(2),toString(16)。
    创建Object-->var a = new Object();不建议省略();Object的属性和方法:constructor用于保存创建当前对象的函数。hasOwnProperty(属性名):查看属性是否存在。isPrototypeOf(object)判断当前对象是不是存在object的原型链中。propertyIsEnumerable(属性名)判断属性是否能用for-in来枚举。toLocaleString(),toString(),valueOf()。

    !非操作符,对象返回false,空字符串返回true,0返回true,非空字符串返回false,非0返回false,null返回true,NaN返回true,undefined返回true。

    &&与操作符,只有两个都为true才是true,第一个为对象返回第二个操作数。第二个为对象当第一个为true是返回。两个都为对象返回后一个。有null返回null,有NaN返回NaN,有undefined返回undefined。如果第一个操作数决定了结果,就不用看第二个操作数了。

    ||或操作符,第一个为对象则返回第一个操作数,第一个为false返回第二个操作数,两个都为null返回null,两个都为undefined返回undefined两个都为NaN返回NaN。如果第一个为true,就不用看第二个数了。

    *操作符,如果结果超出范围则为Infinity或-Infinity。操作数有NaN结果为NaN,Infinity乘0为NaN,如果有非数值的则调用Number()再判断。

          /操作符,操作数有NaN结果为NaN,Infinity/Infinity为NaN,0/0为NaN,xxx/0为Infinity(正负根据xxx)。

          %操作符,不好判断的都为NaN。

          +操作符,操作数有NaN结果为NaN,Infinity+-Infinity为NaN。

          -操作符,操作数有NaN结果为NaN,Infinity-Infinity或-Infinity--Infinity结果为NaN。

         null==undefined返回true,null===undefined就是false;

         for-in===for(var xxx in zzzz){.....}循环。

        label:statement.一般跟break和continue一起。如for(){  for(){break; } }这里break只是跳出了里面的for循环,外面的还在执行,而dropOut:for(){  for(){break dropOut; } }这样就是直接跳到最外面了,不用执行for循环了。

       with的用法:原来var ab = xxx.a,bc=xxx.b,cd=xxx.c用了with就是with(xxx){var ab=a,bc=b,cd=c}。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 专职消防员老了怎么办 同市迁移户口怎么办 户口村里不接收怎么办 准迁入证明过期怎么办 家用水压力不够怎么办 消防水压力不够怎么办 家里明线太难看怎么办 个人停交社保怎么办 电话话筒有问题怎么办 电话听筒有问题怎么办 中学毕业证丢了怎么办 外地户口上高中怎么办 数学思维反应慢怎么办 不小心逆行了怎么办 格力手机老卡顿怎么办? 华为3g手机充不上电怎么办 外地上成都牌照怎么办 小汽车牌照坏了怎么办 买车上郑州牌照怎么办 汽车前牌照丢失怎么办 有人套我车牌怎么办 在本地怎么办外地车牌 二手车卖了车牌怎么办 科目四预约失败怎么办 车子过户了车牌怎么办 检车没有保险怎么办 异地超速12分怎么办 驾驶证考试过期了怎么办 买了库存车怎么办 车龄长了油耗高怎么办 新车发现补过漆怎么办 魅蓝note3内存不足怎么办 汽车安全检测证怎么办 a证被扣12分怎么办 突发事作后事故单位怎么办 如果遇到突发事故怎么办? 班级遇到突发事故怎么办 高速上出车祸怎么办? 安卓车载中控大屏卡怎么办 车辆交通信息卡怎么办 成都焊工压力容器证怎么办