隐式转换

  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);

JavaScript初步的更多相关文章

  1. python成长之路【第十五篇】:JavaScript初步认识

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...

  2. Javascript——初步

    1.基本概念 Javascript是一门脚本语言,它是一门解释性的语言.网页和用户之间实时.动态的进行交互. 2.特点 简单性:没有严格的数据类型.语句简单而紧凑. 安全性:仅仅能通过浏览器实现浏览和 ...

  3. HTML 5 JavaScript初步 编译运行.doc

    编译运行 解释运行 JavaScript:只有一种变量类型,var.数据类型:整型,小数,字符串,布尔型 1.如何把数值型字符串变成数字型: parseInt("字符串")——把字 ...

  4. javascript初步了解

    0.1   <script> 和 </script> 会告诉 JavaScript 在何处开始和结束. <script> 和 </script> 之间的 ...

  5. JavaScript 初步认识

    首先呢 要成为WEB全栈工程师呢 JavaScript 是必须要会的 高级技术看自身兴趣爱好,但是基础必须掌握 因为有良好的基础学习jQuery会比较轻松. js是一门轻量的脚本语言 我学它主要目的是 ...

  6. JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

    JavaScript基本使用 JavaScript原名叫livescript,是一门动态类型,弱类型基于原型的脚本语言   用于页面特效,前后交替,后台开发(node)   JavaScript写在s ...

  7. JavaScript基于对象编程

    js面向对象特征介绍 javascript是一种面向(基于)对象的动态脚本语言,是一种基于对象(Object)和事件驱动(EventDirven)并具有安全性能的脚本语言.它具有面向对象语言所特有的各 ...

  8. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  9. div模拟selection标签 下拉列表

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. Parencodings(模拟)

    ZOJ Problem Set - 1016 Parencodings Time Limit: 2 Seconds      Memory Limit: 65536 KB Let S = s1 s2 ...

  2. 接口自动化测试框架HttpRunner

    接口自动化测试框架 https://github.com/HttpRunner/HttpRunner http://debugtalk.com/post/ApiTestEngine-api-test- ...

  3. 【CodeForces】870 F. Paths

    [题目]F. Paths [题意]给定数字n,图上有编号为1~n的点,两点当且仅当gcd(u,v)≠1时有连边,定义d(u,v)为两点间最短距离(若不连通则为0),求Σd(u,v),1<=u&l ...

  4. 20155117王震宇 2006-2007-2 《Java程序设计》第5周学习总结

    教材学习内容总结 try & catch java中的错误会被打包成对象,可以尝试(try)捕捉(catch)代表错误的对象后做一些处理.如果发生错误,会跳到catch的区块并执行. 异常结构 ...

  5. NYOJ 257 郁闷的C小加(一) (字符串处理)

    题目链接 描述 我们熟悉的表达式如a+b.a+b(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说)操作符在两个操作数中间:num1 operand num2.同理,后缀表达式就是操作符 ...

  6. 深入理解Spring之九:DispatcherServlet初始化源码分析

    转载 https://mp.weixin.qq.com/s/UF9s52CBzEDmD0bwMfFw9A DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请 ...

  7. Mysql储存过程1: 设置结束符与储存过程创建

    #显示储存过程 show procedure status; #设置结束符 delimiter $; #创建储存过程 create procedure procedure_name() begin - ...

  8. git@oschina.net源代码管理使用日记【转】

    转自:https://www.cnblogs.com/Juvy/p/3556902.html git的优势: 1 可以创建分支: 2 版本控制是基于每一次提交的,而不需要考虑每次提交了多少个文件. 下 ...

  9. SQLite3 C/C++ 开发接口简介(API函数)

    from : http://www.sqlite.com.cn/MySqlite/5/251.Html 1.0 总览 SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的 ...

  10. 百度地图js lite api 支持点聚合

    百度地图lite api 是专门为h5 绘制海量点设计的,但是偏偏忽略掉了点聚合的需求,所以需要自己动手,做一次二次改造. 我们知道点聚合需要引入开源库: MarkerClusterer:  http ...