文章目录
一、 什么是JavaScript
全称JavaScript,简称JS。是由NetScape(网景公司)提供的一门脚本语言,前身是Livescript,在1995年正式改名叫做JavaScript。JS常被用于嵌入在网页中,实现一些表单校验(注册表单、登录表单等)或者是实现一些动画效果。JS主要被用于客户端(浏览器)。
二、特点和优势
1.特点
(1)基于对象(不是面向对象,可以模拟面向对象)
(2)直译式(边解释边执行,直接执行的就是源代码)
(3)弱类型(java是强类型)
JS中声明的变量是不区分类型的,可以指向任意的数据
var x;
x = 100;//数值类型
x = "abc";//字符串类型
x = true;//布尔类型
2.优势
(1)具有良好的交互性
(2)具有一定的安全性(JS只能访问浏览器内部的资源)
(3)具有跨平台性(只要有浏览器的地方都能运行JS)
三、在HTML引入JS的方式
1.添加一个script标签
可以在head或body标签内部,添加一个script标签,在这个标签内部可以直接书写JS代码。
<!-- 第一种引入JS的方式 -->
<script>
alert("引入JS的第一种方式...");
</script>
2.通过script标签引入外部的JS文件
在head或者body标签内部,可以通过script标签引入外部的JS文件。
<!-- 第二种引入JS的方式 -->
<script src="demo.js"></script>
四、JavaScript语法
1.数据类型
基本数据类型
(1)数值类型(number)
(2)字符串类型(string)
(3)布尔类型(boolean)
(4)布undefined
(5)null
复杂数据类型
JS中的复杂数据类型就是对象(数组、函数、对象)
2.变量和运算符
(1)在JS中通过var关键字声明变量,通过var声明的变量本身不区分类型,可以执行任意的数据
var n = 100;
var s = "abc";
var b = true;
var arr = [88,"abc",false];
var obj = {};
var fn = function(){}
...
(2)JS中的运算符和Java中的运算符大致相同
JS中的运算符和Java中的运算符大致相同
算术运算符: +,-,*,/,%,++,--
赋值运算符: =,+=,-=,*=,/=,%=
比较运算符: ==,!=,>,>=,<,<=
位运算符: & , |
逻辑运算符: && ,||
前置逻辑运算符: ! (not)
三元运算符: 表达式 ? 表达式 : 表达式
...
3.JS语句
与Java大致相同,不过多赘述。
(1) if分支结构
(2)switch结构)
(3) 循环结构
4.JS数组
JS中声明数组的方式:
var arr1 = []; //声明一个空数组
var arr2 = [100,false,"hello",new Object]; //声明一个具有初始值的数组
var arr3 = new Array(); //声明一个空数组
var arr4 = new Array(100,false,"hello",new Object); //声明一个具有初始值的数组
JS数组的细节问题:
(1)JS数组中的元素可以是任意的数据类型;
(2)JS数组的长度可以随时发生变化;
(3)JS数组的长度可以通过length属性获取或设置
var arr1 = [];
console.log( arr1.length ); //0
arr1[9] = 100;
console.log( arr1.length ); //10
arr1[99] = "abc";
console.log( arr1.length ); //100
//修改数组长度
arr1.length = 0;
5.JS函数
JS中的函数相当于Java中的方法,其实就是一个具有功能的代码块, 可以反复执行。JS函数的声明方式:
格式一:
function 函数名称([参数1,参数2...]){
函数体...
}
格式二:
var 变量/函数名 = function ([参数1,参数2...]){
函数体...
}
五、DOM操作
1.获取元素
document.getElementById( id值 )
-- 通过元素的id值,获取一个元素。返回的是表示该元素的js对象。
document.getElementsByTagName( 元素名 )
-- 通过元素名称获取当前文档中的所有指定名称的元素,返回的是一个数组,其中包含了所有指定名称的元素。
document.body
-- 获取当前文档中的body元素
obj.parentNode
-- 获取当前元素的父元素。obj表示当前元素
2.增删改元素
document.createElement( 元素名称 )
-- 根据元素名称创建指定名称的元素,返回的是表示新创建元素的js对象
parent.appendChild( child )
-- 通过父元素添加子元素,其中parent表示父元素,child表示子元素
parent.removeChild( child )
-- 通过父元素删除子元素,其中parent表示父元素,child表示子元素
obj.innerHTML
-- 获取当前元素的html内容(从开始标签到结束标签之间的所有内容)
-- 或者, 还可以设置当前元素的html内容(如果元素内部有内容,将会覆盖原有内容)