javascript笔记1

  • javascript变量、运算符、语句

    能被转化为布尔值false的值有:{undefined、null、0、-0、NAN、”“};其他的包括所有对象(数组、函数)都将被转化为true

    包装对象:在存取字符串、数字或者布尔值的属性时所创建的临时对象称为包装对象。例如:String()\Number()\Boolean()等构造函数来显示创建包装对象

    ③parseInt(xxx)-解析数字为整数 || parseFloat(xxx)-解析数字为浮点数{两者都将忽略前导0,若第一个为非数字则解析为NAN}

    静态语言:编译时必须指定变量的数据类型如c、c++、java、c#等..
    动态语言:在第一次复制时指定变量的数据类型如Ruby、python、js等

    ⑤在javascript中当未使用var来声明一个变量时,使用delete操作符可以删除变量;相反,当使用var时该变量不能被delete操作符进行删除

    ⑥javascript的优先级和结合性:js中表达式的运算是按照从左至右的顺序。
    例:b=(a++)+a 当a=1时 首先计算b,再计算(a++),此时a还是1 最后计算a 最终将两者相加赋值给b,因此b=3
    例2:b=(++a)+a 当a=1时 首先计算b,再计算(++a),此时a值为2 最后计算a 最终将两者相加赋值给b,因此b=4

    算术运算符分类:加(+),减(-),乘(*),除(/),取余(%)

    ⑧在使用加(+)运算符时,它的转化规则会先考虑”字符串拼接”;若左右两操作数都不是类字符串的话则进行算术加法运算
    例:1+2+"ljx" --> "3ljx" || 1+(2+"ljx") --> "12ljx"

    ⑨字符串的比较是区分大小写的,所有大写的ASCII字母都”小于”小写的ASCII字母。其中比较运算符首先将操作数转化为数字然后再比较大小,若不能转换的为NAN
    例:"11">3 --> true

    in运算符:它希望它的左操作数是一个字符串或者是可以转换为字符串的式子,而希望右操作数是一个对象,如果右侧对象拥有一个名为左操作数的属性名,则返回true
    例: var a=[7,8,9] "0" in a -在a中存在a["0"]这个属性-> true;"1" in a -在a中存在a["1"]这个属性-> true;"3" in a -在a中不存在a["3"]-> false

    instanceof运算符:它希望它的左操作数是一个对象,而右操作符为标识对象的类,若左侧对象是右侧类的实例,则返回true,否则返回false

    逻辑与(&&)特性
    <1>当左右操作数均为true时,返回true,当左右操作数有一方为false时返回false
    <2>左右操作数不一定是布尔值,也有一些被当做”真值”或”假值”
    *<3>短路特性:当左操作数计算结果为假值时,那么整个表达式一定是假,并且返回左操作数的计算值;当左操作数计算结果为真值时,则需要看右操作数的值,若右操作为假值则整个表达式为假,且返回右操作数的值 ;若右操作数为真值则整个表达式为真,且返回右操作数的值
    例:if(a==b) stop(); 等价于 a==b && stop()

    eval:解释运行由javascript源代码所组成的字符串,并产生一个值;eval()只含一个参数,如果传入的参数不是字符串,它将直接返回这个参数;如果是字符串,它会将该字符串当初javascript代码进行编译

    delete一元操作符:它用来删除对象属性或者数组元素,但用户通过var语句所声明的变量、由function语句定义的函数和函数参数不能删除
    例:var a = [1,2,3]; delete a[1] 此时console.log(a) ->得到a[1,3] 但是a.length却为3 意思是数组的长度不变 只是原来被删除的位置被undefined占了罢了

    利用for-in 循环来将对象中的属性复制到一个数组中
    例:var o={x:1,y:2,z:3} var a=[],i=0; for(a[i++] in o); console.log(a) --> a["x","y","z"]

    ⑦return语句只能在函数体内出现;break、continue只能在循环体内出现

    “use strict”语句:在代码前使用该指令,则此段代码将会以严格模式执行,比如其中调用函数(不是方法)中的一个this值将会得到undefined–(在非严格模式下,调用的函数中的this值总是指向全局对象) 使用这段代码来检测是否是在严格模式下:var subClass=(function(){"use strict";return this===undefined}());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值