JavaScript初步
隐式转换
其他类型转换成布尔类型:
undefined --> false
null --> false
0或者0.0或者NaN --> false
字符串长度为0 --> false
其他对象 --> true其他类型转换成数值类型:
undefined --> NaN
null --> 0
true --> 1
false --> 0
内容为数字 --> 数字
内容为非数字 --> NaN
其他对象 --> NaN其他类型转换成字符串类型
undefined --> 'undefined'
null --> 'NaN'
true --> 'true'
false --> 'false'
数值型 --> NaN 或者0 或者数值对应的字符串
其他对象 --> 存在就住转化为toString()方法的值,否则就是undefined
显示转换
其他类型转换成布尔类型
使用Boolean()函数其他类型转换成字符串类型
使用String()函数其他类型转换成数值型
使用Number()强制转换成数值,是一种严格的转换,只要里面有一个字符无法转换,就是NaN
使用parseInt(string,radix) 返回转换之后的整型值,如果八进制,就转换成八进制,
第二个参数,指定转换的进制,2,8,10,16
使用parseFloat(string) 返回转换之后的浮点型的值
运算符
算术运算符:+ - * / % ++ -- 其中++ --分位前缀和后缀
字符运算符:+ 使用+连接多个字符串
赋值运算符:= += -= *= /= %= .=
比较运算符:> >= < <= == != === !==
逻辑运算符:&& || ! 运算结果为布尔类型,存在短路现象
三元运算符:exp1?exp2:exp3 如果exp1成立,就执行exp2,否则就是exp3
其它运算符:
逗号运算符:
逗号用来将多个表达式连接成一个表达式,新表达式的值为最后一个表达式的值,多用在变量声明处
如: var a=1,b=2,c=3; 声明三个变量
var a=(n=1,m=2,z=3) 此时,a的值为最后一个表达式的值,为3void运算符:
void运算符用来指明一个表达式无返回结果,可以用在函数,无返回值,或者无参数
a = void() 表示undefinedtypeof运算符:
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;
}
- 循环语句:
- 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>
- while(判断条件){循环体}
var i=1;
while(i<=10){
document.write(i);
documetn.write('<hr/>');
i++;
}
- do{循环体}while(判断语句)
var i=1;
do{
document.write('hello world');
}while(false);
JavaScript初步的更多相关文章
- python成长之路【第十五篇】:JavaScript初步认识
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...
- Javascript——初步
1.基本概念 Javascript是一门脚本语言,它是一门解释性的语言.网页和用户之间实时.动态的进行交互. 2.特点 简单性:没有严格的数据类型.语句简单而紧凑. 安全性:仅仅能通过浏览器实现浏览和 ...
- HTML 5 JavaScript初步 编译运行.doc
编译运行 解释运行 JavaScript:只有一种变量类型,var.数据类型:整型,小数,字符串,布尔型 1.如何把数值型字符串变成数字型: parseInt("字符串")——把字 ...
- javascript初步了解
0.1 <script> 和 </script> 会告诉 JavaScript 在何处开始和结束. <script> 和 </script> 之间的 ...
- JavaScript 初步认识
首先呢 要成为WEB全栈工程师呢 JavaScript 是必须要会的 高级技术看自身兴趣爱好,但是基础必须掌握 因为有良好的基础学习jQuery会比较轻松. js是一门轻量的脚本语言 我学它主要目的是 ...
- JavaScript初步学习----基本使用,简单事件,修改样式,数据类型
JavaScript基本使用 JavaScript原名叫livescript,是一门动态类型,弱类型基于原型的脚本语言 用于页面特效,前后交替,后台开发(node) JavaScript写在s ...
- JavaScript基于对象编程
js面向对象特征介绍 javascript是一种面向(基于)对象的动态脚本语言,是一种基于对象(Object)和事件驱动(EventDirven)并具有安全性能的脚本语言.它具有面向对象语言所特有的各 ...
- Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程
[保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...
- div模拟selection标签 下拉列表
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- javaScript操作数组的常用方法
map(映射), reduce(规约), forEach(遍历), filter(过滤),它们都是高阶函数,都是以传入不同的函数来以不同的方式操作数组元.ie都不支持 判断是否为数组 Array.is ...
- thinkphp crud实例代码
class IndexAction extends Action { // 查询数据 public function index() { $Form = M("Form"); $l ...
- imperva系统升级遇见的错误(配置文件的导入导出)
今天心态有点炸了 今天去东兴证券做waf升级.浪费了两天才弄完.把客户都弄得有点急了.好歹原厂的工程师耐心的讲解这才弄完.感谢路哥.... 赶紧总结一下. 事情是这样的.东兴 证券的imperva是v ...
- itext 生成pdf文件添加页眉页脚
原文来自:https://www.cnblogs.com/joann/p/5511905.html 我只是记录所有jar版本,由于版本冲突及不兼容很让人头疼的,一共需要5个jar, 其中itextpd ...
- linux自动创建dev node
通过驱动模块的加载在/dev下创建设备文件,在驱动模块卸载时又自动的删除在/dev下创建的设备文件非常方便.而这个过程就是通过device_create()和device_destroy()内核函数完 ...
- photoshop 安装问题
问题:“安装程序检测到计算机重新启动操作可能处于挂起状态.建议您退出安装程序,重新启动并重试.” 解决: 1.运行 regedit 打开注册表编辑器. 2.依次展开HKEY_LOCAL_MACHINE ...
- C 中级 - SO_REUSEPORT 和 SO_REUSEADDR
引言 - 问题由来 刚开始学习网络编程时候, 常听到一个词, 先开启 "端口复用 SO_REUSEADDR". 那时很一知半解, 就知道该那么写了. 心里一直有些奇怪, 语义不通呀 ...
- 苹果receipt样例
使用[[NSBundle mainBundle] appStoreReceiptURL]方式获取receipt (iOS7及以上获取receipt的方法) 普通付费 "latest_rece ...
- 转:在CentOS 7.3使用yum安装 MySql5.6.24
按照CentOS 6.5的方法在CentOS 7上安装会失败,需要按照下文进行安装. 1.安装rpm包 Linux系统自带的repo是不会自动更新每个软件的最新版本(基本都是比较靠后的稳定版),所以无 ...
- Unity 软件使用事项
打开旧版工程 目前发现两种方式来触发升级程序: 1.Unity软件启动时选择旧版工程,触发更新 2.直接打开旧版工程的场景文件,触发更新 在使用中发现一种错误做法,不知道是不是共性问题,在此先记录 ...