JavaScript基础
一.引入方式
**第一种方式:**内部脚本,将JS代码定义在HTML页面中
JavaScript代码必须位于标签之间
在HTML文档中,可以在任意地方,放置任意数量的
一般会把脚本置于元素的底部,可改善显示速度
例子:
**第二种方式:**外部脚本将, JS代码定义在外部 JS文件中,然后引入到 HTML页面中
1
2
3外部JS文件中,只包含JS代码,不包含
引入外部js的
例子:
注意:demo.js中只有js代码,没有
二.基础语法
window.alert()
警告框
document.write()
在HTML 输出内容
console.log()
写入浏览器控制台
/* alert("JS"); */
//方式一: 弹出警告框
// window.alert("hello js");
// //方式二: 写入html页面中
// document.write("hello js");
//方式三: 控制台输出
console.log("hello js");
三.变量
var
早期ECMAScript5中用于变量声明的关键字
let
ECMAScript6中新增的用于变量声明的关键字,相比较var,let只在代码块内生效
const
声明常量的,常量一旦声明,不能修改
//var定义变量
// var a = 10;
// a = "张三";
// alert(a);
//特点1 : 作用域比较大, 全局变量
{
var x = 1;
}
alert(x);
可以重复
var x = 1;
var x = "A";
}
alert(x);
//let : 局部变量 ; 不能重复定义
// {
// let x = 1;
// alert(x);
// }
//const: 常量 , 不能给改变的.
const pi = 3.14;
pi = 3.15;
四.数据类型和运算符
number
数字(整数、小数、NaN(Not a Number))
string
字符串,单双引皆可
boolean
布尔。true,false
null
对象为空
undefined
当声明的变量未初始化时,该变量的默认值是 undefined
运算符和Java基本一样
五.函数
第一种方式
function 函数名(参数1,参数2..){
要执行的代码
function add(a, b){
return a + b;
let result = add(10,20);
alert(result);
第二种可以通过var去定义函数的名字,具体格式如下:
var functionName = function (参数1,参数2..){
//要执行的代码
}
六.JS对象
1.数组
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>对象-array</title>
</head>
<body>
<script>
/*
定义:方式一 var 变量名 = new Array{元素列表}
方式二 var 变量名 = {元素列表}
访问 arr[索引] = 值
*/
var arr1 = new Array(1,2,3,4)
// 访问数组
console.log(arr1)
// 特点: 长度可变 类型可变.
arr1[5] = "j";
arr1[6] = 520;
arr1.push("T");
// 遍历数组
// for(let i = 0;i < arr1.length;i ++){
// const element =arr1[i];
// }
// foreach遍历有值的元素
// arr1.forEach( function(e) {
// const element =arr1[e];
// });
// 箭头函数
arr1.forEach(e => {
console.log(e)
})
/*
forEach() 遍历数组中的每个有值得元素,并调用一次传入的函数
push() 将新元素添加到数组的末尾,并返回新的长度
splice() 从数组中删除元素
*/
</script>
</body>
</html>for
2.字符串
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>string</title>
</head>
<body>
<script>
/*
创建: var str = new String()
*/
var string = new String("jly tzx");
// console.log(string)
// length 长度b
console.log(string.length)
// charAt 检查索引的结果
console.log(string.charAt(0));
// indexof 检查内容的索引值
console.log(string.indexOf("y"));
/*
trim() 去除字符串两边的空格
substring() 提取字符串中两个指定的索引号之间的字符。
*/
</script>
</body>
</html>
3.json
/*
自定义对象
创建: var 对象名 = {
属性名: 属性值 可以是字符串 数字 和 方法
}
调用方式 : 对象名.属性名 对象名.函数名 */
// var user = {
// name : '唐执兴',
// age : 19,
// doing (){ // 或者 doing : function(){}
// alert('学习javaweb');
// }
// }
// alert(user.name);
// user.doing();
// alert(user.age)
// json 格式化
var use ={"name " : "吉","arr":[1,5,6]};
// alert(use.name);
var obj = JSON.parse(use);// 转换为对象
alert(obj.name)
alert(obj.use)
alert(JSON.stringify(obj));// 转化为字符串
4.BOM
widow 的 方法
// 弹出确定 取消的消息框 confrim
var flag = confirm("你确定你还喜欢他");
alert(flag)
// var i = 0;
// // 定时器 间隔时间内一直弹出
// setInterval(function(){
// i++;
// confirm('定时器执行第' + i + '次')
// },2000)
// 间隔时间执行一次
setTimeout(function(){
console.log('你好!');
},5000)
alert(location.href);// 获取浏览器地址
location.href = "https://www.itcast.cn"
location.href = "https://www.itcast.cn" // 跳转到该地址
</script>
5.DOM
// 对已经建立的页面内容进行修改
<img id="h1" src="img/off.gif"> <br><br>
<div class="cls">传智教育</div> <br>
<div class="cls">黑马程序员</div> <br>
<input type="checkbox" name="hobby"> 电影
<input type="checkbox" name="hobby"> 旅游
<input type="checkbox" name="hobby"> 游戏
<script>
/*
document.getElementById() 根据id属性值获取,返回单个Element对象
document.getElementsByTagName() 根据标签名称获取,返回Element对象数组
document.getElementsByName() 根据name属性值获取,返回Element对象数组
document.getElementsByClassName() 根据class属性值获取,返回Element对象数组
*/
//1. 获取Element元素
//1.1 获取元素-根据ID获取
// var img = document.getElementById('h1');
// alert(img);
//1.2 获取元素-根据标签获取 - div
// var divs = document.getElementsByTagName('div');
// for (let i = 0; i < divs.length; i++) {
// alert(divs[i]);
// }
//1.3 获取元素-根据name属性获取
// var ins = document.getElementsByName('hobby');
// for (let i = 0; i < ins.length; i++) {
// alert(ins[i]);
// }
//1.4 获取元素-根据class属性获取
// var divs = document.getElementsByClassName('cls');
// for (let i = 0; i < divs.length; i++) {
// alert(divs[i]);
// }
//2. 查询参考手册, 属性、方法
var divs = document.getElementsByClassName('cls');
var div1 = divs[0];
div1.innerHTML = '吉良艳'