JavaScript是由Netscape公司开发的一种在浏览器中运行的解释性脚本语言(代码执行不进行预编译)。
在html基础上,JavaScript可以开发交互式Web网页。
JavaScript声明
基本格式:
注意:JavaScript可以出现在HTML的任意地方
JS可以放置在body
JS可以放置在head
JS可以放置在外部文件
JavaScript变量&函数
通过 var 语句来声明JavaScript变量。
变量可用的数据类型有:
1.基本数据类型(值类型):String 字符串、Number 数值、Boolean 布尔值、Null 空值、Undefined 未定义。
2.引用数据类型(引用类型):Object 对象。
变量声明与赋值
写法1、先声明,再赋值:(正常)
var a;
a = 100;
console.log(a); // 打印结果:100
写法2、不声明,只赋值:(正常)
a = 100;
console.log(a); // 打印结果:100
写法3、只声明,不赋值:(注意,打印 undefined)
var a;
console.log(a); // 打印结果:undefined
写法4、不声明,不赋值,直接使用:(会报错)
console.log(a); // 会报错
变量的命名规范
大写字母是可以使用的,并且大小写敏感。也就是说A和a是两个变量。
var A = 250; //变量1
var a = 888; //变量2
整理一下变量的命名规范:
只能由字母(A-Z、a-z)、数字(0-9)、下划线(_)、美元符( $ )组成
不能以数字开头。也就是说,必须以字母(A-Z、a-z)、下划线(_)或者美元符( $ )开头。变量名中不允许出现空格。
不用使用 JS 语言中保留的「关键字」和「保留字」作为变量名。
建议用驼峰命名规则。比如getElementById、matherAndFather、aaaOrBbbAndCcc
变量名会区分大小写(javascript 是区分大小写的语言)。
变量名长度不能超过255个字符。
汉语可以作为变量名。但是不建议使用,因为编码问题。
标识符、关键字、保留字
标识符:在JS中所有的可以由我们自主命名的都可以称之为标识符
例如:变量名、函数名、属性名、参数名都是属于标识符。通俗来讲,标识符就是我们写代码时为它们起的名字。
标识符的命名规则和变量的命令规则是一样的。看上面一段就可以了。
注意:标识符不能使用语言中保留的关键字及保留字。如下
js中的关键字:
break、continue、case、default、if、else、switch、for、in、do、while、try、catch、finally、throw、var、void、function、return、new、this、typeof、instanceof、delete、with、true、false、null、undefined
js中的保留字:
abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto、implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile
运算符
变量的类型转换
显式类型转换:
toString()
String()
Number()
parseInt(string)
parseFloat(string)
Boolean()
隐式类型转换:
isNaN ()
自增/自减运算符:++、—-
正号/负号:+a、-a
加号:+
运算符:-、*、/
流程控制语句
顺序结构
选择结构:if 语句、switch 语句
循环结构:while 语句、for 语句
for循环结构
while..;do..while循环
循环中断
break执行结果:
continue执行结果:
函数
函数:
就是将一些功能或语句进行封装,在需要的时候,通过调用的形式,执行这些语句。
函数也是一个对象,使用typeof检查一个函数对象时,会返回function
函数的作用:
1.将大量重复的语句抽取出来,写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动。
2.简化编程,让编程模块化。高内聚、低耦合。
注意:
1.将脚本编写为函数,就可以避免页面载入时执行该脚本。
2.函数通常在
3.函数必须先定义后使用,否则将出错。
函数一般格式:
函数示例1:
函数调用方式:
方式1:普通函数的调用
调用语法:
函数名();或者 函数名.call();
function fn1() {
console.log('我是函数体里面的内容1');
}
function fn2() {
console.log('我是函数体里面的内容2');
}
fn1(); // 调用函数
fn2.call(); // 调用函数
方式2:通过对象的方法来调用
var obj = { a: 'qianguyihao',
fn2: function() {
console.log('千古壹号,永不止步!');
},
};
obj.fn2(); // 调用函数
方式3:绑定事件函数
内置常规函数
alert 函数:显示一个警告对话框。
confirm 函数:显示一个确认对话框。
prompt 函数:显示一个提示输入对话框。
parseInt 函数:将符串转换成整数数字形式(可指定几进制)。
parseFloat 函数:将字符串转换成符点数字形式。
eval 函数:可计算某个字符串,并执行其中的的JS代码的结果。
isNaN 函数:测试是(true)否(false)不是一个数字。
confirm确认框示例:
JavaScript对象
内置对象
就是指这个语言自带的一些对象,供开发者使用,这些对象提供了一些常用或者最基本而必要的功能(属性和方法)。
常用内置对象:
String对象
Date对象
Math对象
Array对象
1、string对象
属性:获取字符串对称长度
字符串对象.length
对象方法:
字符串对象.方法名()
常用对象方法:
更多参考 https://www.w3school.com.cn/jsref/jsref_obj_string.asp。
2、Date对象
Date 用来处理日期和时间。
创建对象:
如果Date()不写参数,就返回当前时间对象
如果Date()里面写参数,就返回括号里输入的时间对象
格式化format
var time1 = new Date().format("yyyy-MM-dd hh:mm:ss");
注意:
Date 对象是一个构造函数 ,需要先实例化后才能使用。
3、Math对象
Math 和其他的对象不同,它不是一个构造函数,不需要创建对象。所以我们不需要 通过 new 来调用,而是直接使用里面的属性和方法即可。
Math属于一个工具类,里面封装了数学运算相关的属性和方法。如右图:
4、Array对象
数组和普通对象的功能类似,也是用来存储一些值的。不同的是:
普通对象是使用字符串作为属性名的,而数组是使用数字作为索引来操作元素。索引:从 0 开始的整数就是索引。
数组创建:
使用字面量创建数组:
var arr2 = [1, 2, 3]; // 创建带初始值的数组
使用构造函数创建数组:
var arr4 = new Array(15, 16, 17); // 参数为多个数值
属性:
length:设置或返回数组中元素的数目。
客户端对象
1、window对象
window 对象是 JavaScript 层级中的顶层对象。
window 对象代表一个浏览器窗口或一个框架。
window 对象会在