JavaScript 简称js
JavaScript是一种基于对象和事件驱动的客户端脚本语言。
JavaScript组成部分:
1.ECMAscript 语法
2.DOM(document object model) 文档对象模型(js处理html和css)
3.BOM(browser object model) 浏览器对象模型(js与浏览器窗口之间的交互)
JavaScript特点:
1.直译式脚本语言
2.动态
3.弱类型
4.基于原型
5.内置支持类型
JavaScript输出方式:
1.弹窗
alert(); 数字直接写,字母或者汉字必须带引号 alert(数字); alert("字母或汉字");
confirm(); 带确定和取消弹窗 confirm(数字); confirm("字母或汉字");
prompt(); 带输入框的弹窗 prompt(数字); prompt("字母或汉字");
2.输出
document.write(); 文档页面输出
console.log(); 控制台输出
JavaScript引入方式:
1.内部嵌入 在页面当中<script></script>
2.外部嵌入 <script type="text/javascript" src="js/one.js"></script>
js数据类型分基本数据类型和引用数据类型:(js里边的符号必须是英文符号,严格区分字母大小写)
js基本数据类型:number,string,boolean,null,undefined
1.字符串string(带""引号都叫字符串, ""(空串)," "(空字符串),"123"(字符串))
2.数字number(123,0,-1,0.3,NaN)
NaN(not a number)不是一个具体数值 NaN与NaN不相等
判断是不是NaN的方法:isNaN();
3.布尔值boolean
true真,false假
4.空null
5.未定义undefined(变量声明未赋值)
变量就是可变的量
变量占据一段内存,变量名字可以调用内存中的信息
声明变量 var
变量命名注意
1.变量名称可以任意命名,字母或者下划线开始(_)
2.必须是英文字母,数字,下划线组成
3.不能使用js关键字,保留字。js常见类型都不可以。不能使用JavaScript语言内部的单词,比如infinity,NaN,undefined,true,false,null等
运算符
1.算数运算符(先乘除后加减,乘除取余是平级,先遇见谁,就算谁)
+加 与字符串+就是连接作用,其他类型被隐式类型类型转换为string
-减 转为number进行算数运算
*乘 转为number进行算数运算
/除 转为number进行算数运算
除数为0结果为infinity(无穷)
被除数/除数
被除数不为0,除数为0结果是infinity
被除数为0,除数不为0结果是0
被除数为0,除数为0结果是NaN
除数或被除数为NaN,结果为NaN
%取余,取模
任何数 % 转化结果为0的数都是NaN
2.比较运算符
> 大于
< 小于
>= 小于等于
<= 大于等于
== 等等(判断值是否相等)
null==undefined true
null是空,没有具体值, undefined未定义值,没有具体值
=== 全等(判断值和类型是否相等)
""===" " false
null===undefined false
null和undefined的类型不同
!= 不等
!== 不全等
3.赋值运算符
++ 自增
a++和++a的区别
a++是运算后加1 ++a先加1后运算
-- 自减
a--和--同理a++和++a
+= a+=b a=a+b
-= a-=b a=a-b
*= a*=b a=a*b
/= a/=b a=a/b
%= a%=b a=a%b
4.逻辑运算符
&& 与 全真则真,一假则假
|| 或 全假则假,一真则真
! 非 取反(跟条件对着干)
短路运算
&&与:多个条件同时成立
如果左边为true,返回右边
如果左边为false,返回左边
||或:任意条件成立
如果左边为true,返回左边
如果左边为false,返回右边
类型转换分强制类型转换和隐式转换
判断数据类型:typeof
typeof null=object(特殊)
一.强制转换:
Number()
转换为number结果为0都有:0,false,"",null," ","0"
转换为number结果为0都有:0,false,"",null," ","0"
强制转换为数字
string转number
""转换结果=0 console.log(Number(""));
" " 转换结果=0 console.log(Number(" "));
"汉字"转换结果=NaN console.log(Number("汉字"));
"123"转换结果=123 console.log(Number("123"));
boolean转number
true转换结果=1 console.log(Number("true"));
false转换结果=0 console.log(Number("false"));
null转number
null转换结果=0 console.log(Number("null"));
undefined转number
undefined转换结果=NaN console.log(Number("undefined"));
String()
强制转换为字符串
Boolean()
转换为false都有:null,undefined,"",0,NaN
强制转换为布尔值
string转boolean
""转换结果=false console.log(Boolean(""));
" " 转换结果=true console.log(Boolean(" "));
"汉字"转换结果=true console.log(Boolean("汉字"));
"123"转换结果=true console.log(Boolean("123"));
number转boolean
0转换结果=false console.log(Boolean("0"));
123转换结果=true console.log(Boolean("123"));
NaN转换结果=false console.log(Boolean("NaN"));
-1转换结果=true console.log(Boolean("-1"));
0.3转换结果=true console.log(Boolean("0.3"));
null转boolean
null转换结果=false console.log(Boolean("null"));
undefined转boolean
undefined转换结果=false console.log(Boolean("undefined"));
二.隐式类型转换
算术运算符:+ - * / %
比较运算符:== === != !== > < >= <=
隐式类型转换:算术运算符转换都是隐式类型转换
js引用数据类型:object对象,array数组,function函数
Js规范
1.js严格区分大小写
2.每一句结束加分号;
3.空格换行忽略不计,是调整格式。
标识符:在js中可以由我们自己命名的变量名、函数名、属性名。
命名规则:
1.标识符必须包含字母、数字、下划线(_)、$
2.不能以数字开头
ECMAscript es5 es6
3.标识符不能是ES中的关键字和保留字
4.标识符采用驼峰命名
首字母小写,每个单词首字母大写
字面量:给变量的值
表达式:讲同类型的数据用运算符号按一定的规则连接起来的。有意义的式子称为表达式;
一元运算符:一个变量的表达式
二元运算符:两个变量运算符链接的式子
三元运算符:条件?结果1:结果2;
var a =1;
(a>1)?console.log(true):console.log(false);
运算符的优先级