什么是JavaScript?
JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。是用来控制网页行为的,”它能使网页可交互。
JavaScript 和Java 是完全不同的语言,不论是概念还是设计。但是基础语法类似。
JavaScript在1995 年由 Brendan Eich 发明,并于 1997 年成为 ECMA 标准。
ECMAScript6(ES6)是最新的JavaScript版本(发布于 2015年)。
JavaScript引入方式
内部脚本
将JS代码定义在HTML页面中
JavaScript代码必须位于<script></script>标签之间
在HTML文档中,可以在任意地方,放置任意数量的<script>
一般会把脚本置于<body>元素的底部,可改善显示速度
<script>
alert("Hello javaScript")
</script>
外部脚本
将JS代码定义在外部JS文件中,然后引入到 HTML页面中
外部JS文件中,只包含J代码,不包含<script>标签
<script>标签不能自闭合
<script src="is/demo.js"></script>
JavaScript的基础语法
1.区分大小写:与Java一样,变量名、函数名以及其他一切东西都是区分大小写的
2.每行结尾的分号可有可无
3.注释:
单行注释://注释内容
多行注释:/* 注释内容 */4.大括号表示代码块
//判断 if(count == 3){ alert(count); }
输出语句
使用 window.alert()写入警告框
使用 document.write()写入 HTML 输出
使用 console.log()写入浏览器控制台
代码样例
<script>
window.alert("Hello javaScript"); //浏览器弹出警告框
document.write("Hello javaScript"); //写入HTML,在浏览器展示
console.log("Hello javaScript");//写入浏览器控制台
</script>
运行结果
变量
1.JavaScript 中用 var 关键字(variable 的缩写)来声明变量。
2.JavaScript 是一门弱类型语言,变量可以存放不同类型的值
3.变量名需要遵循如下规则:
组成字符可以是任何字母、数字、下划线(...)或美元符号($)
数字不能开头
建议使用驼峰命名
数据类型
JavaScript中分为:原始类型 和引用类型
使用 typeof运算符可以获取数据类型:
var a = 20:;
alert(typeof a);
原始类型
number:数字(整数、小数、NaN(NotaNumber))
string:字符串,单双引皆可
boolean:布尔。true,false
nul:对象为空
undefined:当声明的变量未初始化时,该变量的默认值是 undefined
Symbol(ES6新增):表示唯一的标识符。
引用类型
- 对象(Object):表示复杂数据结构,可以包含多个属性和方法。
- 数组(Array):是一种特殊的对象,用于存储多个值。
- 函数(Function):是一种特殊的对象,可以被调用执行。
- 日期(Date):表示日期和时间。
- 正则表达式(RegExp):用于匹配字符串的模式。
- Map:用于存储键值对的集合,其中键可以是任何数据类型。
- Set:用于存储唯一值的集合,其中值可以是任何数据类型。
原始类型在赋值时是按值传递的,而引用类型在赋值时是按引用传递的,这意味着当你将一个原始类型的变量赋值给另一个变量时,实际上是将值复制给了新变量;而当你将一个引用类型的变量赋值给另一个变量时,两个变量实际上指向同一个对象,改变其中一个变量的值也会影响另一个变量。
运算符
算术运算符:+,-,*,/,%,++,
赋值运算符:=,+=,-=,*=,/=,%=
比较运算符:>,<,>=,<=,!=,==,==
逻辑运算符:&&,,!
三元运算符:条件表达式?true_value:false_value
==与===的区别
==会进行类型转换,===不会进行类型转换;
比如字符串:"10"与数字:10进行比较,==会先转换为相同类型,再进行比较,===不会进行转换,直接进行比较
var a = 10:
alert(a == "10"); //true
alert(a === "10"); //false
alert(a === 10);//true
控制流程语句
与java基本一样
if...else if ...else...
switch
for
while
do ... while
函数
介绍:函数(方法)是被设计为执行特定任务的代码块。
定义:JavaScript 函数通过 function 关键字进行定义,语法为:
function functionName(参数1,参数2..){
//要执行的代码
}
注意:
形式参数不需要类型。因为JavaScript是弱类型语言
返回值也不需要定义类型,可以在函数内部直接使用return返回即可
调用:函数名称(实际参数列表)
JS对象
Array
JavaScript 中 Array对象用于定义数组。
定义
var 变量名 =new Array(元素列表); //方式1
var 变量名 =[元素列表]; //方式2
var arr=new Array(1,2,3,4);//方式一
var arr =[1,2,3,4];//方式二
访问
arr[ 索引]= 值;
arr[10]= "hello";
注意事项
JavaScript 中的数组相当于Java 中集合,数组的长度是可变的,而JavaScript是弱类型,所以可以存储任意的类型的数据。
Array常用属性
length:设置或返回数组中元素的数量。
Array常用方法
forEach():遍历数组中的每个有值的元素,并调用一次传入的函数
push():将新元素添加到数组的末尾,并返回新的长度。
splice():从数组中删除元案。
注意:
forEach()遍历是遍历有值的元素,而for循环是全部遍历
String
String字符串对象创建方式有两种:
var 变量名=new String("...”);//方式一
var str = new string("Hello string");
var 变量名 ="…";//方式二
var str ="Hello string"
String常用属性
length:字符串的长度。
String常用方法
charAt():返回在指定位置的字符。
indexof():检索字符串。
trim():去除字符串两边的空格
substring():提取字符串中两个指定的索引号之间的字符
JSON
Javascript自定义对象
定义格式:
var 对象名 ={
属性名1:属性值1,
属性名2:属性值2,
属性名3:属性值3,
函数名称:function(形参列表){}
};
//自定义对象
var user = {
name: "Tom",
age: 10,
gender: "male",
// eat: function(){
// alert("用膳~");
// }
eat(){
alert("用膳~");
}
}
调用格式:
对象名.属性名;
对象名.函数名();
alert(user.name);
user.eat();
JSON-基础语法
//定义json
var jsonstr = '{"name":"Tom", "age":18, "addr":["北京","上海","西安"]}';
alert(jsonstr.name);
//json字符串--js对象
var obj = JSON.parse(jsonstr);
alert(obj.name);
//js对象--json字符串
alert(JSON.stringify(obj));
value 的数据类型为:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
nul
BOM
概念:
Browser Object Model 浏览器对象模型,允许]avaScript与浏览器对话,JavaScript 将浏览器的各个组成部分封装为对象。
组成:
Window:浏览器窗口对象
Navigator:浏览器对象
Screen:屏幕对象
History:历史记录对象
Location:地址栏对象
Window
Location
DOM
HTML中的Element对象可以通过Document对象获取,而Document对象是通过window对象获取的。(Window可以省略)
Document对象中提供了以下获取Element元素对象的函数:
1.根据id属性值获取,返回单个Element对象
var hl = document.getElementById('h1');2.根据标签名称获取,返回Element对象数组
var divs =document.getElementsByTagName('div');3.根据name属性值获取,返回Element对象数组
var hobbys = document.getElementsByName('hobby');4.根据class属性值获取,返回Element对象数组
var clss=document.getElementsByClassName('cls');
事件绑定
方式一:通过 HTML标签中的事件属性进行绑定
<input type="button"
onclick="on()" value="按钮1">
<script>
function on(){
alert('我被点击了!);
</script>
方式二:通过 DOM 元素属性绑定
<input type="button" id="btn" value="按钮2">
<script>
document.getElementById('btn').onclick=function(){
alert('我被点击了!);
</script>
常见事件