JavaScript初步

隐式转换

  1. 其他类型转换成布尔类型:
    undefined --> false
    null --> false
    0或者0.0或者NaN --> false
    字符串长度为0 --> false
    其他对象 --> true

  2. 其他类型转换成数值类型:
    undefined --> NaN
    null --> 0
    true --> 1
    false --> 0
    内容为数字 --> 数字
    内容为非数字 --> NaN
    其他对象 --> NaN

  3. 其他类型转换成字符串类型
    undefined --> 'undefined'
    null --> 'NaN'
    true --> 'true'
    false --> 'false'
    数值型 --> NaN 或者0 或者数值对应的字符串
    其他对象 --> 存在就住转化为toString()方法的值,否则就是undefined

显示转换

  1. 其他类型转换成布尔类型
    使用Boolean()函数

  2. 其他类型转换成字符串类型
    使用String()函数

  3. 其他类型转换成数值型
    使用Number()强制转换成数值,是一种严格的转换,只要里面有一个字符无法转换,就是NaN
    使用parseInt(string,radix) 返回转换之后的整型值,如果八进制,就转换成八进制,
    第二个参数,指定转换的进制,2,8,10,16
    使用parseFloat(string) 返回转换之后的浮点型的值

运算符

算术运算符:+ - * / % ++ -- 其中++ --分位前缀和后缀
字符运算符:+ 使用+连接多个字符串
赋值运算符:= += -= *= /= %= .=
比较运算符:> >= < <= == != === !==
逻辑运算符:&& || ! 运算结果为布尔类型,存在短路现象
三元运算符:exp1?exp2:exp3 如果exp1成立,就执行exp2,否则就是exp3

其它运算符:

  1. 逗号运算符:
    逗号用来将多个表达式连接成一个表达式,新表达式的值为最后一个表达式的值,多用在变量声明处
    如: var a=1,b=2,c=3; 声明三个变量
    var a=(n=1,m=2,z=3) 此时,a的值为最后一个表达式的值,为3

  2. void运算符:
    void运算符用来指明一个表达式无返回结果,可以用在函数,无返回值,或者无参数
    a = void() 表示undefined

  3. typeof运算符:
    typeof运算符用来返回一个操作数的数据类型

运算符优先级

按照优先级降低的顺序如下:

.[]()  字段访问,数组下标,函数调用以及表达式分组
++ -- - ~ ! delete new typeof void 一元运算符,返回数据类型,对象创建,未定一只
* / % 乘法,除法,取模
+ - + 加法,减法,字符串连接
<< >> >>> 移位
< <= > >= instanceof  小于,小于等于,大于,大于等于,instanceof
== != === !==  等于,不等于,严格相等,非严格相等
& 按位与
^ 按位抑或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= 赋值,运算赋值
,  多重求职

可以通过括号()来改变优先级。

流程控制

  • 条件语句:
if(exp)   执行一句代码
if(exp){执行代码段}
if(exp){exp为True时执行}else{exp为false的时候执行;}
if(exp1){...}else if(exp2){...}
switch...case
if嵌套

// 严格类型比较
switch(exp){
    case 值1:
        执行的代码段;
        break;
    case 值2:
        执行的代码段;
        break;
    default:             /可以放在任何地方,不一定是末尾
        执行的代码段;
        break;
}
  • 循环语句:
  1. for(判断条件)
// 使用for循环打印九九乘法表

<script type="text/javascript">
    document.write('<hr color="red">');
        document.write('<table border="1" cellpadding="0" cellspacing="0" bgcolor="#ABCDEF" width="80%">');
        for(var i=1;i<=9;++i){
            document.write('<tr>');
            for(var j=1;j<=i;j++){
                document.write('<td>'+i+'x'+j+'='+(i*j)+'</td>');
            }
            document.write('</tr>');
        }
        document.write('</table>');
</script>
  1. while(判断条件)
var i=1;
    while(i<=10){
        document.write(i);
        documetn.write('<hr/>');
        i++;
    }
  1. do{循环体}while(判断语句)

var i=1;
do{
    document.write('hello world');
}while(false);

posted @ 2017-10-09 20:17  cnkai  阅读(309)  评论(0编辑  收藏  举报