什么是JavaScript
是一种基于对象和事件驱动的脚本语言
特点
1.交互、脚本语言、解释性语言
2.边执行解释
组成
1.ECMScript是一种语法标准
语法,变量和数据类型,运算符,逻辑控制语句,关键字,保留字,对象
2.编码遵循ECMScript标准
3.DOM:Document Object Model(文档对象模型)
是HTML文档对象模型(HTML DOM)定义的一套标准方法,用来访问和操作HTML文档
js核心语法
1.变量
1.1先声明变量再赋值
var width;
width=10;
例:
<script>
先声明变量
var name;
再赋值 赋值是从右到左
字符串类型要用双引号或者单引号括起来
name="迪丽热巴"
akert(name)
</script>
1.2同时声明和赋值变量
var userName="六月";
var i,j,k =15;
同时声明变量并赋值
var age = 18;
alert(age)
声明多个变量 ,用var关键字来声明变量 ,习惯一句话结束了用分号隔开
var name,age,sex;
name="李四";
age="18";
sex="nan ";
document.write(name);
document.write(age);
document.write(sex);
声明多个变量并赋值
var b="李四",age=18,sex="男"
console.log(b)
console.log(age)
console.log(sex)
var a;
控制台的打印方法
已经声明但是没有赋值的会默认给个undefined
console log(a)
1.3不声明直接赋值
userName="六月"
i=1
不声明直接赋值
username='蓝色天空'
document.write(username)
下面方式不定义直接写会报错
userage
document.write(userage)
2.语法约定
3.数据类型
变量已经声明但是没有赋值,所以默认undefined
let username;
typeof是用来检测变量的类型
这里的username是undefined类型
console.log(typeof username)
null表示一个空值
let o = null;
null也属于一个数据类型
console.log(typeof o); 返回的是Object对象
90就是number数据类型
90是整数,90.09小数也叫浮点数
let num =90.09;
console.log(typeof num)
boolean类型包含 true false (关键字,不能作为变量)
let flag=false
console.log(typeof flag)
即不可以写成
let true ← 关键字不能作为变量
string叫字符串类型,用单引号或者双引号括起来的文字
let str="我爱你中华"
用+号表示,字符串的拼接
document.write('str'+typeof str);
3.1undefined
var age;
变量age没有初始值,将被赋予undefined3.2null
3.2null表示一个空值,与undefined值相等
一个等于叫赋值,两个等于叫比较值,比较之后会产生一个布尔值,就等于true,不等于false
console.log(null==undefined)
两个等于值比较值
三个等于比较值和类型
console.log(123='123')←这里值是一样的,但是123是数字类型,'123'是字符串类型,所以会显示false
3.3number
var score=90 整数
var score=90.02 浮点数
4.boolean
布尔型:true和false
5.string
被引号(单引号或双引号)括起来的文本
var string1="This is a string";
4.运算符号
var ecmascript5以及之前使用的,是传统的,老的ie浏览器支持,let是新的,ecmascript6(ecs6),第六代推出,谷歌,火狐,新的ie10以上支持,老的浏览器比如ie8不支持 加号
let num1=1;
let num2=2;
document.write(num1+num2);
数字类型之间的加号是相加,字符串之间类型的相加是拼接
let str1='1';
let str2='2';
document.write(str1+str2);
隐式数据转换,会把数字类型的2转换成字符串类型拼接
console.log(123=='123'); ← 这里也存在隐式数据转换,把他们两转成同一种类型进行比较,只要值相等,就是true
let str1='1';
let num1='2';
document.write(str1+num2);
减号会把字符串类型的数据正常进行减法,也存在隐式数据转换,会把字符串2转成数字类型的2进行运算
let num1=2;
let num2=1;
document.write(num1-num2);
5.数组
6.控制语句
7.注释