作用: 给页面添加动态效果
语言特点:
编程语言包括: 变量,数据类型,运算符,各种语句,方法,面向对象
JS语言属于弱类型语言, 声明变量的时候不需要指定类型
通过let或var关键字声明变量
let声明的变量作用域和java语言类型
var声明的变量 作用域相当于java中的全局变量,可以在页面中任何地方调用
举例:
java:
for(int i=0;i<10;i++){
int j=i+1;
}
int x = i+j; //i和j都超出了作用域 编译报错
JavaScript:
for(let i=0;i<10;i++){
let j=i+1;
}
let x = i+j; //不报错 但是访问不到i和j 因为超出了作用域
for(var i=0;i<10;i++){
var j=i+1;
}
var x = i+j; //不报错 并且可以访问i和j的值
Java: public 返回值类型 方法名(参数列表){方法体}
JS: function 方法名(参数列表){方法体}
常见的四种方法:
JS中三种定义方法的方式:
通过选择器查找页面中的元素对象
let 元素对象 = document.querySelector(“选择器”);
获取或修改元素的文本内容
元素对象.innerText = “xxx”; 修改元素的文本内容
元素对象.innerText 获取元素的文本内容
获取或修改控件的值 (控件:文本框,密码框,单选,多选,下拉选等)
控件对象.value=“xxxx”; 修改控件的值
控件对象.value 获取控件的值
window对象: 该对象中的属性和方法称为全局属性和全局方法, 访问的时候可以省略掉window.
window对象中常见方法:
window对象中常用的属性
通过选择器查找页面中的元素对象
let 元素对象 = document.querySelector(“选择器”);
获取或修改元素的文本内容
元素对象.innerText = “xxx”; 修改元素的文本内容
元素对象.innerText 获取元素的文本内容
获取或修改控件的值 (控件:文本框,密码框,单选,多选,下拉选等)
控件对象.value=“xxxx”; 修改控件的值
控件对象.value 获取控件的值
创建元素对象的方法
let 变量 = document.createElement(“标签名”);
添加到某一个元素里面
元素对象.append(新元素)
获取页面中body的方式
document.body
MVC设计模式是将实现一个前端业务功能的所有代码划分为三部分
Model: 模型, 指数据模型, 对应的代码是和数据相关的代码
View: 视图, 指页面相关代码, 对应的是页面中标签相关的代码
Controller:控制器, 把Model显示到View中的过程代码称为控制器
前端MVC设计模式中, 在Controller部分将数据显示到页面中,需要频繁的进行DOM相关操作(查找元素/创建元素等), 浪费资源, 前端的MVVM设计模式可以解决此问题
VUE是目前最流行的前端框架, 基于MVVM设计模式
VUE框架两种用法:
如何引入vue.js框架文件?
两种方式:
从CDN服务器引入框架文件
准备框架的网址:
Staticfile CDN(国内) : https://cdn.staticfile.org/vue/2.2.2/vue.min.js
unpkg:https://unpkg.com/vue@2.6.14/dist/vue.min.js
cdnjs : https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js
把框架文件下载到本地后再引入
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<div>
<h1>{{info}}h1>
div>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">script>
<script>
/*Vue对象相当于是MVVM设计模式中的VM视图模型
* 该对象负责将页面中的元素和某个变量进行绑定,并且Vue会在内存中不断监听着
* 变量值的改变,当变量值发生改变时Vue框架会自动找到页面中的元素
* 让其跟着发生改变*/
let v = new Vue({
el:"body>div", //element元素, 写一个选择器用来设置Vue框架的管理范围
data:{ //data里面定义和页面相关的变量,定义完之后Vue会对变量进行监听
info:"Hello Vue!"
}
})
script>
body>
html>
安装Vue插件-提示代码
File->Settings->Plugins
让当前位置的文本内容和变量进行绑定
让元素的文本内容和变量进行绑定
让元素的标签内容和变量进行绑定
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<div>
{变量}}插值,让当前位置的文本内容和变量进行绑定-->
{{info}}
<p>{{info}}p>
<p v-text="info">p>
<p v-html="info">p>
div>
<script src="js/vue.min.js">script>
<script>
let v = new Vue({
el: "body>div",
data: {
info: "文本相关指令测试加粗标签"
}
})
script>
body>
html>
v-bind: 属性名=“变量”; :属性名=“变量”; 让元素的某个属性的值和变量进行绑定
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<div>
{{msg}}
<input type="text" :value="msg">
<input type="text" v-bind:value="msg">
<a :href="url">超链接a>
<img :src="imgUrl" alt="">
div>
<script src="js/vue.min.js">script>
<script>
let v = new Vue({
el: "body>div",
data: {
msg: "属性绑定测试",
url:"http://www.baidu.com",
imgUrl:"a.jpg"
}
})
script>
body>
html>
v-model=“变量”; 让控件的值和变量进行双向绑定,
双向绑定: 控件的值和变量进行绑定, 变量发生改变时控件的值跟着变, 同时控件的值发生改变时变量也会跟这变
v-on:事件名=“方法”; 简写: @事件名=“方法”; 让元素的某个事件和Vue中的方法进行绑定
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<div>
<input type="text" v-model="num" placeholder="请输入1-100之间的整数">
<input type="button" value="猜一猜" @click="f()">
<h1>{{result}}h1>
div>
<script src="js/vue.min.js">script>
<script>
//得到1-100之间的随机整数
let x = parseInt(Math.random()*100)+1;
let v = new Vue({
el: "body>div",
data: {
result: "",
num: ""
},
methods: {
f() {
if (v.num>x){
v.result="猜大了!";
}else if(v.num<x){
v.result="猜小了!";
}else{
v.result="恭喜你猜对了!";
}
}
}
})
script>
body>
html>
遍历的同时生成当前元素, 用法类似于Java的新循环
官网地址: element.eleme.cn或者输入https://element.eleme.cn/#/zh-CN