文章目录
一、搭建JavaScript运行环境
1.书写在html标记对或标记对内部:
<script type=“text/javascript” src=“js/index.js”></script>
2.JavaScript脚本的功能
输入—加工—输出
3.内联脚本使用事件完成:
<div class="close" onclick="javascript:window.close();">关闭窗口</div>
3.数据的输出
弹窗形式输出:window.alert();
输出至控制台:console.log();
输出至页面:document.write();
在页面中混合输出:用+号将字符创首尾相连,将变量用从字符串中剔除
var x=5,y=8;
document.write("<h3>" + x + "×" + y + "=" + x*y + "</h3>")
或
var x=5,y=8;
document.write(`<h3>${x}×${y}=${x*y}</h3>`);
二、数据类型
基本数据类型(6种):
数值型、字符型、逻辑性、未定义型、空型、symbol型
引用数据类型(3种):
数组、对象、函数
1.数值型 number
(1)数值型数据:
整型数据:不带小数点的数值型数据
实行数据:带小数点的数值型数据
(2)整型数据:
十进制整型:正常书写
二进制整型:0B开头
八进制整型:以0O开头
十六进制整型:以0X开头
几进制就有几个基准数都从0开始。格式中的0B、0O、0X被称为整型数据的“前导符”说明了进制关系,不参与运算,不是数据的一部分。
(3)实型数据:
定点实数:实型数据的小数格式
浮点实数:实型数据的科学计数法形式
浮点实数在代码中书写:
1.25e+015 // e后面带有正号(负号),可以补足三位
1.25e015 // e后面的正号可以省略
1.25e15 // e后面不需要补足三位
1.25E15 // e可以大写,也可以小写
2.字符型 string
字符型数据必须用双引号(“”)、单引号(‘’)、 单撇号(``)扩住。
在浏览器控制台输出时系统将整合为双引号。
(1)字面量字符:用字符型数据的定界符(双引号、单引号、单撇号)直接扩住字符形成的数据。
(2)转义字符:在定界符内部用\开头,表示一个特定的含义
\n-----表示换行。
\ \-----表示一个反斜杠
\ "-----表示一个双引号
\’-----表示一个单引号
\`-----,表示一个单撇号
3.逻辑性 boolean(布尔型)
逻辑型数据用“逻辑真”表示一个状态,用“逻辑假”表示另一个状态
逻辑真用true来表示,逻辑假采用false来表示
4.未定义型 undefined
使用var声明变量,但没有为变量赋初值,输出变量会显示undefined
var m;
console.log(m); // undefined
允许将undefined直接赋给一个变量
var n=undefined;
console.log(n); // undefined
5.空型 null
允许将null直接赋给一个变量
var s=null;
console.log(s); // null
6.引用数据类型(array/object)
1.数组(array):用大括号 [ ] 扩住的一组数据,之间用逗号间隔形成“数组”,其中的数据被称为“数组元素”
var w=[10,15,20,25,30,35];
2.对象(object):用中括号 { } 扩住的一组数据,数据以键值对的形式展示,之间用逗号间隔形成“对象”,其中的数据被称为“对象成员”
var o={x:10,y:20,z:100};
基本数据类型和引用数据类型的区别:
var a=15;
var b=a; // 变量b的值来源于变量a
console.log(a,b);
b=100; // 对变量b的修改不会影响变量a
console.log(a,b);
//直接赋值:浅拷贝
var a=[10,20,30];
var b=a; // 数组b的值来源于数组a
console.log(a,b);
b[0]="A"; // 对数组b的修改会影响数组a
console.log(a,b);
//直接赋值:浅拷贝
var a={m:100,n:200,d:"A"};
var b=a; // 对象b的值来源于对象a
console.log(a,b);
b.n=50; // 对对象b的修改会影响对象a
console.log(a,b);
引用数据类型直接赋值会发生“浅拷贝”。
7.测试数据类型 typeof()
使用运算符 typeof() 对数组进行数据类型测试
typeof(3.5) //number
typeof(0x4c) //number
typeof("abc") //string
typeof('\n') //string
typeof(false) //boolean
typeof(aab) //undefined
typeof(null) //object
typeof(undefined) //undefined
typeof({a:100,b:200}) //object
8.常量
在程序运行过程中不变的量
使用const声明常量:
格式: const 常量名 = 常量;
使用const声明的是常量,后续的程序执行过程中不能重新赋值
9.变量 variable
在程序运行过程中变化的量
格式: var 变量名 = 变量值;
允许使用var声明变量的同时不为该变量赋值,后续代码再赋值,使用一条var语句同时声明多个变量,多个变量之间用逗号隔开
var a=10,b,c=“phone”;
var s=[100,200],t={a:5,b:6,c:7};
10.变量的本质
1.基本数据类型互相赋值:
var a=150; // 在内存中为变量a开辟一个存储空间
var b=a; // 在内存中为变量b开辟一个存储空间
2.引用数据类型互相赋值:
var s=[10,20,30,40,50]; // 在内存中为变量s开辟一个存储空间
var t=s; // 并没有在内存中为变量t开辟存储空间,而是让t指向了s所指的空间
11.let声明变量:
格式:let 变量名 = 变量值;
JavaScript脚本语言属于弱变量体系结构的语言,变量不声明也可以使用var可以先使用后声明,let必须先声明再使用
//var先使用在声明是合法的
a=100;
var a=200;
console.log(a);
//let先使用在声明是非法的
b=500;
let b=600;
console.log(b);
var可以多次对同一个变量进行声明,let对同一个变量只能声明一次
//var多次声明是合法的
var a=100;
console.log(a);
var a=200;
console.log(a)
//let多次声明是非法的
let b=500;
console.log(b);
let b=600;
console.log(b);