初识JavaScript
javascript是什么
是一种运行在客户端的脚本语言 (script是脚本的意思)
脚本语言:不需要编译,运行过程中由js解释器(js引擎)来逐行解释并执行
现在也可以基于node.js技术进行服务器端编程
JavaScript作用
表单动态校验(密码强度检测) js产生的最初目的
网页特效
服务端开发(Node.js)
桌面程序(Electron)
APP(Cordova)
控制硬件-物联网(Ruff)
游戏开发(cocos2d-js)
js组成
ECMAScript :JavaScript语法
DOM:页面文档对象模型
BOM:浏览器对象模型
输入输出语句
alert(msg)浏览器弹出警示框 输出的 展示给用户的
console.log(msg)浏览器控制台打印输出信息 给程序员测试用的
prompt(info)浏览器弹出输入框,用户可以输入
变量
声明变量
var:变量名;多个变量声明用英文逗号分开
只声明不赋值 会是undefine
可以不声明直接赋值 但是会变成全局变量 不提倡
变量名不能以数字开头
name有特殊含义 尽量不要使用作为变量名
数据类型
为了充分利用存储空间 定义不同的数据类型
js是动态语言,变量数据类型是可以变化的
js的变量数据类型是只有程序在运行中,根据等号右边的值来确定的
简单数据类型(Number,String,Boolen,Undefine,Null)
NUmber
数字前面加0表示八进制 数字前面加0x表示十六进制
数字型的最大值和最小值 Number.MAX_VALUE Number.MIN_VALUE
infinity 无穷大 -Infinity 无穷小 NaN,not a number 代表一个非数值
isNaN()方法用来判断一个变量是否为非数字 并且返回一个值 是数字返回false 不是数字返回true
String
只要是加引号的就是字符串类型 推荐使用单引号
字符串转义字符 用\
检测获取字符串的长度 变量名.length
字符串拼接:字符串+任何类型=新的字符串
boolen
flase在加法中当0看 true当1
undefined
undefined+字符串=undefined字符串(null相同)
undefined+数字=NaN(null返回为数字)
获取数据类型
typeof 变量名
使用表单、prompt获取过来的数据默认是字符型
字面量:是源代码中一个固定值的表示法,通俗来说就是字面量表示如何表达这个值
数据类型转换
转换为字符串
toString() 变量名.toString();
String() String(变量名) 强制转换
加号拼接 结果变为字符串隐式转换
转换为数字型
parseInt(String) 将String转换成整数型 只取整数部分 也可去掉后面单位或字母 但前面会变为NaN
parseFloat(String) 转换为浮点数
Number()强制转换
用算术运算符隐式转换
转换为boolean
Boolean() 空的,否定的值被转换为false 其他全部转换为true
算术运算符operator
浮点数算术运算会有精度问题
不要直接判断两个浮点数是否相等
递增运算符必须和变量配合使用
前置递增运算符和后置递增运算符单独使用效果是一样的
逻辑运算符
短路运算(逻辑中断)
不用布尔值参与逻辑运算的时候
当有多个表达式或值时,左边的表达式可以确定结果时,就不再继续运算右边表达式的值(后面部分抛弃不执行)
逻辑&&
如果第一个表达式1为真 则返回表达式2
如果第一个表达式为假 则返回表达式1
逻辑或
如果第一个表达式为真 则返回表达式1
如果第一个表达式为假 则返回表达式2
运算符优先级
小括号>一元运算符>算术运算符>关系运算符>相等运算符>逻辑运算符>赋值运算符>逗号运算符
一元运算符里的逻辑非优先级很高
逻辑与比逻辑或优先级高