JS有两种引入方式,分为内部脚本和外部脚本
将JS代码定义在HTML页面中(一般放在< body > 元素的底部)
在一个单独的js文件中编写JavaScript,然后再HTML文件中使用script标签引用
hello.html
<script src="hello.js">script>
hello.js
alert("hello,world");
//写入警告框
window.alert("hello"); //浏览器弹出警告框
//写入HTML输出
document.write("hello"); //在浏览器展示
//写入浏览器控制台
console.log("hello");
函数(方法)是被设计为执行特定任务的代码块
//第一种
function functionName(参数1,参数2...){
//代码
}
//第二种
var functionName=function(参数1,参数2...){
//代码
}
在本章节,介绍Array数组,String字符串,JSON,BOM,DOM几个对象
JavaScript中Array对象用于定义数组
//方式一
var 变量名=new Array(元素列表);
var arr = new Array(1,2,3,4);
//方式二
var 变量名 = [元素列表];
var arr = [1,2,3,4];
arr[索引]=值;
arr[10]="hello";
//forEach:遍历数组每个有值元素
arr.forEach(function(e){
console.log(e);
})
//ES6 箭头函数 (...) => (...) 简化函数定义
arr.forEach((e)=>{
console.log(e);
})
//push 添加元素到数组末尾
arr.push(7,8);
//splice:删除元素
//从第二个索引开始删,删除两个元素
arr.splice(2,2)
拓展: 箭头函数(ES6):用于简化函数定义语法,类似于lambda表达式。
//方式一
var 变量名 = new String("...");
var str = new String("hello");
//方式二
var 变量名 = "...";
var str = "hello";
//charAt() 返回在指定位置的字符
console.log(str.charAt(3)); //获取str第四个字符
//indexOf() 检索字符串
console.log(str.indexOf("lo")) //获取到lo所在的位置
//trim() 去除字符串两边的空格
var arr = str.trim(); //用变量接收去除两边空格的arr
//substring(start,end) 提取字符串中两个指定索引号之间的字符(含头不含尾)
console.log(str.substing(0,3));
方法 | 描述 |
---|---|
charAt( ) | 返回在指定位置的字符 |
indexOf( ) | 检索字符串 |
trim( ) | 去除字符串两边的空格 |
substring( ) | 提取字符串中两个指定的索引号之间的字符 |
//定义方法
var 对象名 = {
属性值1:属性值1,
属性名2:属性值2,
属性名3:属性值3,
函数名:function(形参列表){}
};
//调用方法
对象名.属性名;
对象名.函数名();
//实例
var user ={
name:"Tom",
age:20,
gender:"male",
eat:function(){
alert("吃饭")
}
}
console.log(user.name);
user.eat();
JSON 是通过 JavaScript 对象标记法书写的文本。
由于其语法简单,层次结构鲜明,现多用于作数据载体,在网络中进行数据传输
//定义方法
var 变量名 = '{"key1":value1,"key2:value2"}'
//示例
var userStr='{"name":"Jerry","age":18,"addr":["北京","伤害"]}';
数据类型 | 存储方式 |
---|---|
数字 | 整数或浮点数 |
字符串 | 在双引号中 |
逻辑值 | true或false |
数组 | 在方括号中 |
对象 | 在花括号中 |
null |
//JSON字符串转为JS对象
var jsObject = JSON.parse(userStr);
//JS对象转换为JSON字符串
var jsonStr =JSON.stringify(jsObject);
浏览器窗口对象
//获取方法:直接使用window,其中window.可以省略
window.alert('hello,window');
//常用方法
//confirm 显示带有确认按钮和取消按钮的对话框
confirm("可以选择确定和选择的对话框");
//setInterval() 周期执行某个函数
//每两秒执行一次
setInterval(function(){
console.loog("执行了一次");
},2000);
//setTimeout() 在指定时间后执行一次
setTimeout(function(){
console.loog("只执行了一次");
},2000);
//获取方法(二者皆可)
window.location.属性;
location.属性
//设置或返回完整的URL
location.href = "地址"
//通过id属性值获取,返回Element对象
var h1 = document.getElementByIdJ('h');
//根据标签名称获取,返回Element对象数组
var divs = document.getElementsByTagName('div');
//通过name属性值获取,返回Element对象数组
var hobbys = document.getElementsByName('hobby');
//通过class属性值获取,返回Element对象数组
var class = document.getElementsByClassName('cls');
注:此对象数组返回的是对象,不是真的数组,不能用forEach,可以用for循环
//将name属性值为hobby的按钮改为选中
const b1= document.getElementsByName("hobby");
for(let i=0;i<b1.length;i++){
b1[i].checked=true;
}
此处写的onclick代表绑定on()函数,为常见事件
事件名 | 说明 |
---|---|
onclick | 鼠标单击事件 |
onblur | 元素失去焦点 |
onfocus | 元素获得焦点 |
onload | 某个页面或图像被完成加载 |
onsubmit | 当表单提交时触发该事件 |
onkeydown | 某个键盘的键被按下 |
onmouseover | 鼠标被移到某元素之上 |
onmouseout | 鼠标从某元素移开 |