JS第一课

154 阅读3分钟

什么是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.注释