考试题
This commit is contained in:
76
teaching/jwl/课件/js/duixiang.html
Normal file
76
teaching/jwl/课件/js/duixiang.html
Normal file
@@ -0,0 +1,76 @@
|
||||
<!DOCTYPE html>
|
||||
<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>
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script>
|
||||
// 方法一: 用字面量创建单个对象
|
||||
var obj={name:"cony"}
|
||||
// 方法二:用构造函数创建单个对象
|
||||
function createobjgc(name){
|
||||
this.name=name
|
||||
this.say=function (){
|
||||
console.log("hello"+name)
|
||||
}
|
||||
}
|
||||
var obj3=new createobjgc("cony")
|
||||
var obj4=new createobjgc("ling")
|
||||
console.log(obj3.say==obj4.say) //false
|
||||
|
||||
// console.log(obj2) //{name:cony}
|
||||
// 详解构造函数
|
||||
// 1.构造函数唯一区别就在于调用他们的方式不同。任何函数只要通过new关键字调用 那他就可以作为构造函数
|
||||
// 如果构造函数不通过new调用 那这个函数跟普通函数也没有任何区别
|
||||
// 2.构造函数的问题,实例中的每个方法都要在每个实例上重新创建一遍.
|
||||
// 上面的构造函数可以写成下面的形式
|
||||
// function createobj(name){
|
||||
// this.name=name
|
||||
// this.say=new Function ( `console.log("hello"+${name})`)
|
||||
|
||||
// }
|
||||
// 也就是上面的obj3和obj4都有say()方法,但两个say()方法 并不是同一个Function的实例 (ECMAScript中的函数是对象,所以说没实例化一遍就会实例化一个function对象)
|
||||
// 所以说虽然创建的机制一样,但是他们不在同一个作用域链上了所以obj1.say== obj2.say =》false
|
||||
|
||||
// 为了解决这个问题,可以通过下面的方式定义
|
||||
function createobj0(name){
|
||||
this.name=name
|
||||
this.say=say
|
||||
}
|
||||
var say=function(){
|
||||
console.log("hello"+this.name)
|
||||
}
|
||||
var obj3=new createobj0("cony")
|
||||
var obj4=new createobj0("ling")
|
||||
// 将say方法 放在构造函数外面后,say方法就成了全局变量 然后从构造函数中指向外面的say方法 也就是全局的say函数。
|
||||
// say函数中包含的是一个指向函数的指针(this),因此 obj3和obj4就共享了一个在全局作用域下定义的函数。解决了上面出现的问题
|
||||
// 新的问题: 每定义一个方法 就需要在全局定义一个函数, 而且在全局作用域中定义的函数实际只能被某个对象调用
|
||||
// 这样的全局作用域有点名不副实 而且缺乏封装性
|
||||
// 为了解决上面所说的两个问题,我们有第三种方法:原型模式
|
||||
|
||||
// 方法三:原型模式创建对象
|
||||
// 初步认识原型:我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象
|
||||
//
|
||||
function creator(){
|
||||
|
||||
}
|
||||
creator.prototype.name="万能的小明"
|
||||
creator.prototype.say=function(){
|
||||
console.log("hello"+this.name)
|
||||
}
|
||||
var stu1=new creator()
|
||||
var stu2=new creator()
|
||||
stu1.say()
|
||||
stu2.say()
|
||||
console.log(stu1.say==stu2.say)
|
||||
//hello 万能的小明
|
||||
// true
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<p>对象创建</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
50
teaching/jwl/课件/js/hanshu.html
Normal file
50
teaching/jwl/课件/js/hanshu.html
Normal file
@@ -0,0 +1,50 @@
|
||||
<!DOCTYPE html>
|
||||
<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>
|
||||
<script>
|
||||
// 声明一个函数
|
||||
// function greet(){
|
||||
// // alert("hello")
|
||||
// document.write("<p>asd</p") //在页面上输出内容 能解析Html标签
|
||||
|
||||
// // console.log() 控制台输出
|
||||
// // alert()
|
||||
// // prompt() 带输入框的弹窗
|
||||
// // confirm () 带按钮的弹窗
|
||||
|
||||
// }
|
||||
// greet() //函数执行
|
||||
|
||||
function add(e,f){
|
||||
// e是形参 函数参数的接收
|
||||
console.log(e,f)
|
||||
console.log("coin")
|
||||
return "llk"
|
||||
console.log("hello")
|
||||
return 3
|
||||
}
|
||||
var sum=add(2,9,0) //2 是实参
|
||||
console.log(sum)
|
||||
// 理论上说 形参跟实参的数量应该保持一致 如果说实参没有传的话 形参访问结果是undefind 如果形参本身有默认值 那么在实参没传的情况下 访问形参的结果是 默认值
|
||||
// 实参的数量大于形参的时候 函数体内访问不到除了形参之外的所有参数
|
||||
// 函数的执行过程 从函数体第一行代码开始 到函数体内第一个return 语句结束
|
||||
|
||||
|
||||
// 函数表达式
|
||||
var add1=function (a,b){
|
||||
return a+b
|
||||
}
|
||||
var sum1=add1(1,2)
|
||||
console.log(sum1)
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
63
teaching/jwl/课件/js/yuju.html
Normal file
63
teaching/jwl/课件/js/yuju.html
Normal file
@@ -0,0 +1,63 @@
|
||||
<!DOCTYPE html>
|
||||
<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>
|
||||
<script>
|
||||
// if 条件语句 if-elseif -else
|
||||
var a = 3;
|
||||
// if(a>10){
|
||||
// console.log("比10大")
|
||||
// }else if(a>5){
|
||||
// console.log("比10小 比5大")
|
||||
// }else{
|
||||
// console.log("比5小")
|
||||
// }
|
||||
|
||||
|
||||
switch (a) {
|
||||
case 1: console.log("a等于1");break
|
||||
case 2: console.log("a等于2");break
|
||||
default:console.log("error")
|
||||
}
|
||||
// case 1=> a==1
|
||||
// 每个case执行的语句后面都要加上break,不然的话所有的case都会执行
|
||||
// default 当判断的条件都不满足时(case后面的语句都不执行),就执行default 里面的语句
|
||||
|
||||
// console.log(res)
|
||||
|
||||
|
||||
// 循环语句 for while
|
||||
while(a<5){
|
||||
// console.log(a)
|
||||
a++
|
||||
}
|
||||
// while里面的语句 一定要写上++ 不然就是永动机
|
||||
|
||||
|
||||
// for(var i=0;i<5;i++){
|
||||
// // console.log(i)
|
||||
// }
|
||||
|
||||
// for in
|
||||
var arr=["a","b",'c','d'] //=>值
|
||||
// [0,1,2,3] =》下标 索引
|
||||
for(var m in arr){
|
||||
console.log(m,arr[m])
|
||||
}
|
||||
|
||||
var obj={name:"123",age:10}
|
||||
for(var x in obj){
|
||||
console.log(x,obj[x])
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
57
teaching/jwl/课件/js/yunsuanfu.html
Normal file
57
teaching/jwl/课件/js/yunsuanfu.html
Normal file
@@ -0,0 +1,57 @@
|
||||
<!DOCTYPE html>
|
||||
<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>
|
||||
<script>
|
||||
var a=0
|
||||
a++ //一元运算符
|
||||
a+2 //二元运算符
|
||||
// 加减乘除 取余 赋值 || && 二元
|
||||
// 自增 自减 ! 一元
|
||||
//逻辑运算符 &&(与 and) ||(或 or) !(非)
|
||||
// a && b a||b !a
|
||||
var close=false
|
||||
var open= !close
|
||||
// console.log(open)
|
||||
|
||||
// 自增(++) 自减(--)
|
||||
var b=10
|
||||
// console.log(b++) // 后置自增 10 先操作再加
|
||||
// b => 11
|
||||
// console.log(++b) // 前置自增 12 先加再操作
|
||||
|
||||
var c=10
|
||||
// console.log(c--) // 9
|
||||
// console.log(--c) // 8
|
||||
|
||||
// console.log("7"==6)
|
||||
// console.log("6"===6)
|
||||
// ==(相等)判断的时候 两边数据类型不一样时 会发生隐式类型转换 先转换成Number类型再比较
|
||||
// ===(全等) 判断的时候 两边数据类型不一样时 不会发生隐式类型转换
|
||||
|
||||
//比较运算符
|
||||
// >,< >= <= != == ===
|
||||
// console.log(1+undefined) //false nan not a number
|
||||
|
||||
// console.log(0==NaN) //false
|
||||
// console.log(0==undefined) //false
|
||||
// console.log(0== null) //false
|
||||
// alert( null >= 0 ); // (3) true
|
||||
|
||||
//赋值运算符(
|
||||
// =
|
||||
// var s=8;
|
||||
// s+=9 //s=s+9
|
||||
// console.log(s) //17
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user