(1)自学测试开发第一天---------js提升

符合ECMA (ec妈)国际标准的javaScript 为 ES (ecma Scirpt )

es有版本,老的浏览器不兼容新的es标准(es6)Babel转码器

js的代码写在body --script中

var(老的)/ let / const

1.var与let、const区别1:

a.块作用域  如在一个对象中{ }的变量

        var sq1=“hello sql” //var 申明变量作用域为全局,如在{} 对象中申明,在对象外也能使用

若在一个对象中 申明 let sq2 ="hello sql" , 在对象外就不能使用了(let有明确作用域)

b.函数作用域

        三种方式在函数汇总定义的变量,其他地方都不能用

2.var与let、const区别2:变量提升(var 申明赋值变量时,会在全局代码之前先申明 确定有个 变量 )

如:caosole.log(name) // 打印为undefined

        var name = “小明” // 会在全部代码之前 先申明有这个变量 var name (变量提升)

        let/ const (没有这个不规范的骚操作)

3.var与let、const区别3:变量的重复申明

若存在变量 a, 就不能再用let a=“你好”了,会报错

若存在变量a, 可以用var 不停的重复申明 (老将军var权限大,可以不停的出尔反尔 )

4.const 申明常量 constant variable,

特点1常量不能再被赋值        (但可以改变原来的值  【】或{ } 时)

如:const name =“小明” 不能再 name =“老张”  //不能改变引用,不然报错

const a_list=[]

a_list.push(100) //不可以重新赋值,但是可以修改对象或数组内容,变成[100]

const obj={}

obj.name ="小明" // obj 变成 {name:“小明”}

特点2:const申明常量必须赋个值 ,因为变量可以变可以没有,常量必须有

5.let 与const的解构赋值(作用:快速赋值多个变量)  

数组解构     let [ ]   或者 const []

let [a,b,c] =[1,2,3]

console.log(c) //打印结果为3

接收的变量,若对于数值个数,多出的为undefined

接收的变量,若对于数值中个数,不影响

对象解构,将对象属性逐个提出来     let {name,age}   或const {}

let {name,age}={name:"小明", age:"22"}

接收的变量名要 和属性 相同才能赋值成功属性值

        如果接收的变量,名称为某个属性 就能赋值

        如果接收的变量,变量名称不是属性,,相当于申明了变量,但未赋值,为undefined

申明对象的简写形式

name=“小陶”,age=18

正常写法const obj18={name:name,age:age}

简写:congst obj18={name,age}                //当有变量名为name,变量名为age时

扩展运算符   let obj = {...obj0}   let obj = {...list0}    或      let list =[...list0]

对象扩展运算符(使用obj来接) ----作用快速得到一个对象

对象使用 对象扩展运算符

let obj={...{name:"小明",age:"22"}} //obj 复制了对象

数组使用对象扩展运算符(属性用原数组的 索引来占位)

let ob2j={...["第一","第二"]} // obj2 为: {0: "第一", 1: "第二"}

数组扩展运算符(使用list来接)

数组使用数组扩展运算符

let blist=[...["第一","第二"]] // blist 复制了数组

箭头函数

传统:function 函数名(arg){表达式} //在对象中,定义传统函数,this表示此对象

箭头函数: //在对象中,定义箭头函数,没有自己的this

        (arg1,arg2) => {表达式}

        const 函数名 = (arg1,arg2) => {表达式}

js文件使用

main.js文件中,写js语句,定义变量,定义函数等

.html文件中使用, 可以写在head,也可以写在body中

 <script  src="./main.js"></script>

导出导入(分支js文件,与主js文件)

缘由:多个js文件,某个js文件 需要其他js文件的变量或者 方法

1.需要分支js文件导出变量or函数名

export {add,person}  //函数名 或变量 普通多个 
export default{add,person}  //函数名或变量 默认导出方式,导出后它们是个整体

2.主js文件的导入,推荐第二种,这样如果需要从多个js文件中导过来,可以定义不同的名字

// 当 "./demo2.js" 导出时 export {add2,person2}  ,这里写法就为用{}同导出写法;
导入时的写法:import {add2,person2} from "./demo2.js"; 

//  "./demo2.js"文件中的默认导出. 导出时export default{add,person}
 //导入时写法:import后的名字自己定义,随便写
import demo2 from "./demo2.js";  
使用add函数时, 就写成  demo2.add()

3.html文件中需要写script标签需要写 type=“module”

<script type='module' src="./main.js"></script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值