内部脚本:将JS代码定义在HTML页面中
<script>
alert("Hello JS");
</script>
外部脚本:将JS代码定义在外部JS文件中,然后引入到HTML页面中
<script src='js文件路径.js'></script>
区分大小写:与Java一样,变量名、函数名以及 其他一切东西都是区分大小写的
每行结尾分号可有可无【但建议写】
注释
大括号表示代码块
if(count == 3){
alert(count);
}
输出语句
<script>
window.alert("Hello");//浏览器弹出警告框
document.write("Hello");//写入HTML
console.log("Hello");//写入浏览器控制台
</script>
<script>
//var 变量
//特点:作用域比较大,全局变量,且可以重复定义
var a = "浩楠";
alert(a);
//let变量:局部变量,不能重复定义
{
let x = 1;
alert(x);
}
//const常量:不能改变值
const p = 3.14;
</script>
数据类型:原始类型和引用类型
使用typeof可以获取数据类型
<script>
alert(typeof 1);//number
alert(typeof 1.1);//number
alert(typeof "Hello");//string
alert(typeof 'Hello');//string
alert(typeof true);//boolean
alert(typeof false);//boolean
alert(typeof null)//object
var a;
alert(typeof a);//undifined
</script>
运算符:于Java一致 【不同在 == 与 ===】
转换类型
<script>
alert(20=="20");//true
alert(20==="20");//false
alert(20===20);//true;
//类型转换 将其他类型转为boolean
if(0){
alert("0转换为false");
}
if(NaN){
alert("NaN转换为false");
}
if(1){
alert("其它的均为true");
}
if(""){
alert("除了空字符串其他都是true");
}
if(null){
alert("null转换为false");
}
if(undefined){
alert("undefined转换为false");
}
</script>
介绍
定义
function functionName(参数1,参数2..){
//代码块
}
//方式二
var add = function(a,b){
return a+b;
}
注意
调用
<script>
//定义函数方式一:
function add(a,b){
return a+b;
}
alert(add(10,30));
//定义函数方式二:
var mutiply = function (a,b){
return a*b;
}
alert(mutiply(10,10));
</script>
JavaScript 中 Array对象用于定义数组
定义
//方式一
var arr = new Array(1,2,3,4);
//方式二:
var arr = [1,2,3,4];
访问
alert(arr[2]);
arr[10] = "hello";
JavaScript 中的数组相当于Java中集合,数组的长度是可变的,而JavaScript是弱类型语言,所以可以存储任意的类型数据
<script>
//定义数组
/*
var arr = new Array(1,2,3,4,5);
var arr = [1,2,3,4,5];
console.log(arr[2]);
*/
//特点:长度可变,类型可变
/* var arr = [1,2,3,4,5];
arr[10] = 50;
alert(arr[10]);
arr[9] = true;
arr[8] = "次";
console.log(arr); */
//length属性
var arr = [1,2,3,4];
arr[10] = 50;
//for循环会输出所有的内容包括undefined
for(let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
//forEach:遍历(只遍历有值的)
arr.forEach(function(e){
console.log(e);
})
//ES6:简化forEach
arr.forEach(e => {
console.log(e);
})
console.log("--------------------")
//push:在数组后面添加值
arr.push(5,6,7);
console.log(arr);
//splice:删除内容 (从哪里开始,删除几个)
arr.splice(2,2);
console.log(arr);
</script>
String字符串对象创建
//方式一
var str = new String("Hello String");
//方式二
var str = "Hello String";
属性
<script>
//创建字符串
//var str = new String("Hello Js");
var str = " Hello Js ";
//length
console.log(str.length);
//charAt
console.log(str.charAt(3));
//indexOf
console.log(str.indexOf("l"));
//trim
var s = str.trim();
console.log(s);
//substring:与Java一致,包前不包后
console.log(s.substring(0,5));
</script>
自定义对象格式
var user = {
name:"浩楠",
age:22,
eat:function(){
alert("干饭");
}
}
调用格式
console.log(user.name);
user.eat();
Json介绍
{
"name":"浩楠",
"age":22,
}
JSON-基础语法
var userStr = '{"name":"浩楠","age":22,"address":["北京","上海","洛阳"]}'
JSON字符串转为JS对象
var obj = JSON.parse(userStr);
JS对象转为JSON字符串
var jsonStr = JSON.stringify(obj);
<script>
//创建自定义对象
var user = {
name:"浩楠",
age:22,
/* eat:function(){
alert("干饭");
} */
eat(){
alert("干饭");
}
}
console.log(user.name);
user.eat();
//定义json
var jsonStr = '{"name":"浩楠","age":22,"address":["北京","上海","洛阳"]}';
alert(jsonStr.name);
//json字符串——js对象
var obj = JSON.parse(jsonStr);
alert(obj.name);
//js对象——json字符串
var str = JSON.stringify(obj);
alert(str);
</script>
概念
window
window.alert("Hello");
location
<script>
//获取window
window.alert("I am window");
//方法 confirm
var isTrue = window.confirm("您确定要删除吗?");
alert(isTrue);
//定时器:setInterval 周期性执行某一个函数
var i = 0;
window.setInterval(function(){
i++;
console.log("定时器:执行第"+i+"次");
},2000)
//定时器:setTimeout 延迟一定时间后执行某一个函数
window.setTimeout(function(){
alert("setTimeout");
},3000);
//location.href:当前的路径,也可以修改
alert(window.location.href);
window.location.href = "https://www.baidu.com";
</script>
将标记语言的各个组成部分封装为对应的对象
HTML中的Element对象可以通过Document对象获取,而Document对象是通过window对象获取的
Document对象中提供了以下获取Element元素对象的函数
var h1 = document.getElementById("h1");
var divs = document.getElementsByTagName("div");
var hobbies = document.getElementsByName("hobby");
var clss = document.getElementsByClassName("cls");
<body>
<img id="i" src="./yan.jpg"/>
<div class="cls">洛阳理工</div>
<div class="cls">濮院520</div>
<input type="checkbox" name="hobby"/>电影
<input type="checkbox" name="hobby"/>旅游
<input type="checkbox" name="hobby"/>美食
</body>
<script>
//获取Element元素
//1.根据ID获取
var img = document.getElementById("i");
alert(img);
//2.根据标签获取
var ds = document.getElementsByTagName("div");
for (let i = 0; i < ds.length; i++) {
alert(ds[i]);
}
//3.根据name属性获取
var hobbies = document.getElementsByName("hobby");
for (let i = 0; i < hobbies.length; i++) {
alert(hobbies[i]);
}
//4.根据class属性获取
var cls = document.getElementsByClassName("cls");
//通过属性来修改内容
ds[0].innerHTML = "洛阳理工学院"
</script>
<body>
<img id="i" src="./off.gif"/>
<div class="cls">洛阳理工</div>
<div class="cls">濮院520</div>
<input type="checkbox" name="hobby"/>电影
<input type="checkbox" name="hobby"/>旅游
<input type="checkbox" name="hobby" />美食
</body>
<script>
//1.点亮 src属性
var light = document.getElementById("i");
light.src = "./on.gif";
//2.将所有div标签后面加上红色very Good 利用<font color='red'>内容</font>标签
var ds = document.getElementsByTagName("div");
for (let i = 0; i < ds.length; i++) {
ds[i].innerHTML += "<font color='red'>very Good</font>";
}
//所有复选框为选中状态
var cs = document.getElementsByName("hobby");
for (let i = 0; i < cs.length; i++) {
cs[i].checked = true;
}
</script>
<input type="button" onclick="on()" value="按钮"/>
<script>
function on(){
alert("点击");
}
</script>
<input type="button" id="btn" value="按钮"/>
<script>
document.getElementById("btn").onclick = function(){
alert("点击");
}
</script>
<body onload="lod()">
<form action="" style="text-align:center;">
<input type="text" name="userName" onfocus="f()" onblur="b()" onkeydown="key()"/>
<input id="sub" type="submit" value="提交" onsubmit="sub()" />
<input id="bt" type="button" value="单击事件" onclick="c()"/>
</form>
<br/><br><br>
<table width="800px" border="1" cellspacing="0" align="center" onmouseover="mouseOver()" onmouseout="mouseOut()">
<tr>
<th>学号</th>
<th>姓名</th>
<th>分数</th>
<th>评语</th>
</tr>
<tr align="center">
<td>001</td>
<td>张三</td>
<td>90</td>
<td>很优秀</td>
</tr>
<tr align="center">
<td>002</td>
<td>李四</td>
<td>92</td>
<td>优秀</td>
</tr>
</table>
</body>
<script>
//onload:页面加载事件
function lod(){
console.log("页面加载事件");
}
//onclick:鼠标点击事件
function c(){
console.log("点击事件");
}
//onblur:失去焦点事件
function b(){
console.log("失去了焦点");
}
//onfocus:获取焦点事件
function f(){
console.log("获取焦点");
}
//onkeydown:键盘的某个键被按下
function key(){
console.log("键盘被按下");
}
//onmouseover:鼠标移动到元素上
function mouseOver(){
console.log("鼠标移动元素上了");
}
//onmouseout:鼠标移出某元素
function mouseOut(){
console.log("鼠标移出元素");
}
//onsubmit:提交表单事件
function sub(){
alert("表单提交");
}
</script>
<body>
<img src="on.gif" id="light"/>
<input type="button" id="onLight" value="点亮"/>
<input type="button" id="offLight" value="熄灭"/>
<br>
<input type="text" id="content" value="PLEASE GIVE ME MONEY"/>
<br>
<input type="checkbox" name="hobby"/>电影
<input type="checkbox" name="hobby"/>旅游
<input type="checkbox" name="hobby"/>游戏
<br/>
<input type="button" id="allChecked" value="全选"/>
<input type="button" id="reverseChecked" value="反选"/>
</body>
<script>
var img = document.getElementById("light");
//点亮
document.getElementById("onLight").onclick = function(){
img.src = "./on.gif";
}
//熄灭
document.getElementById("offLight").onclick = function(){
img.src = "./off.gif";
}
var str = document.getElementById("content");
str.onfocus = function(){
str.value = str.value.toLowerCase();
}
str.onblur = function(){
str.value = str.value.toUpperCase();
}
var hobbies = document.getElementsByName("hobby");
//全选
document.getElementById("allChecked").onclick = function(){
for(let i=0;i<hobbies.length;i++){
hobbies[i].checked = true;
}
}
//复选
document.getElementById("reverseChecked").onclick = function(){
for(let i=0;i<hobbies.length;i++){
if(hobbies[i].checked){
hobbies[i].checked = false;
}else{
hobbies[i].checked = true;
}
}
}
</script>
概述
快速入门
<script src="./vue.js">
new Vue({
el:"#app",//Vue接管区域
data:{
message:"Hello Vue"
}
})
```html
<div id="app">
<input type="text" v-model="message"/>
</div>
</body>
- 插值表
- 形式:
- 内容可以是:变量、三元运算符、函数调用、算术运算
## 6.1、Vue常用指令
- 指令:HTML标签上带有 v- 前缀的特殊属性,不同指令含有不同的含义
- 常用指令

- v-bind 和 v-model
```html
<body>
<div id="app">
<a v-bind:href="url">链接1</a>
<a :href="url">链接2</a>
<input type="text" v-model="url"/>
</div>
</body>
<script>
new Vue({
el:"#app",
data:{
url:"https://www.baidu.com"
}
})
</script>
注意:通过v-bind或者v-model绑定的变量,必须在数据模型中声明
<body>
<div id="app">
<input type="button" v-on:click="handle()" value="单击事件">
<input type="button" @click="handle()" value="简化单机事件">
</div>
</body>
<script>
new Vue({
el:"#app",
data:{
},
methods:{
handle:function(){
alert("单机事件");
}
}
})
</script>
<body>
<div id="app">
<input type="text" v-model="age">经判定,为:
<span v-if="age < 35">年轻人(35以下)</span>
<span v-else-if="age>35 && age<60">中年人(35-60)</span>
<span v-else>老年人(60及以上)</span>
<br><br>
<input type="text" v-model="age">经判定,为:
<span v-show="age < 35">年轻人(35以下)</span>
<span v-show="age>35 && age<60">中年人(35-60)</span>
<span v-show>老年人(60及以上)</span>
</div>
</body>
<script>
new Vue({
el:"#app",
data:{
age:20
}
})
</script>
区别在于,效果一致,但v-show是通过display的属性来隐藏或显示该标签
<body>
<div id="app">
<div v-for="address in addresses"></div>
<hr>
<div v-for="(address,index) in addresses">:</div>
</div>
</body>
<script>
new Vue({
el:"#app",
data:{
addresses:["上海","北京","广州","洛阳"]
}
})
</script>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
td{
text-align:center
}
</style>
<script src="./vue.js"></script>
<body>
<table id="app" align="center" width="800px" height="300px" border="1" cellspacing="0">
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>成绩</th>
<th>等级</th>
</tr>
<tr v-for="(user,index) in users">
<td></td>
<td></td>
<td></td>
<td>
<span v-if="user.sex == 1">男</span>
<span v-else>女</span>
</td>
<td></td>
<td>
<span v-if="user.score >= 85">优秀</span>
<span v-else-if="user.score >= 65 && user.score <85">及格</span>
<span v-else style="color:red">不及格</span>
</td>
</tr>
</table>
</body>
<script>
new Vue({
el:"#app",
data:{
users:[
{
name:"马浩楠",
age:22,
sex:1,
score:78
},
{
name:"程明辉",
age:22,
sex:2,
score:86
},
{
name:"吴赛",
age:22,
sex:2,
score:90
},
{
name:"李泽",
age:22,
sex:2,
score:52
}
]
}
})
</script>
</html>
<body>
<div id="app">
</div>
</body>
<script>
new Vue({
el:"#app",
data:{
},
methods:{
},
mounted(){
alert("Vue挂载完毕,发送请求获取数据");
}
})
</script>