菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
前端-张悕可-20230512
[打印本页]
作者:
小胖
时间:
2023-5-24 17:25
标题:
前端-张悕可-20230512
1 JS函数
arguments的使用
概念
当我们不确定有多少个实参要进行传递的时候,可以使用arguments来获取,它可以存储传递的所有实参。
arguments是一个伪数组,可以进行遍历,可以使用length,但是没有数组的本身的方法,比如pop,push等等。
函数之间的相互调用
根据年份判断2月天数
函数的自调用
函数的两种声明方式
命名函数
function 函数名() {}
因为函数是有名字的,所以叫做命名函数,调用函数的代码可以放在函数声明之前,也可以放在函数声明之后。
匿名函数
var fn = function() {函数体}
因为函数是没有名字的,所以叫匿名函数
fn 是一个变量名,里面存放的是一个函数
函数调用的代码必须写到函数体的后面
变量的作用域及作用域链
作用域
全局变量:就是在全局中都可以使用,如果在函数中只给变量赋值,不声明,就会直接认定为全局变量
局部变量:局部变量只有在函数的内部才能使用,外部不行。
变量的作用域链
当有多个变量名称相同的时候,采取就近原则,使用距离使用变量的代码最近的那个变量
2 JS的预解析
JS代码运行的步骤
预解析
从上到下进行执行
JS引擎会将JS里面所有的var 和 function 提升到当前作用域的最前面
变量预解析
就是把变量的声明提升到当前作用域的最前面,不提升赋值操作
函数的预解析
就是把所有的函数声明提升到当前作用域的最前面,但是不进行调用操作。
3 JS的对象
对象的概念
现实生活中,万物皆对象,对象是一个具体的事物,比如,咱们班的班主任,迪丽热巴,马尔扎哈。
对象的组成
在JS中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,比如字符串、数组、函数等等。
对象由属性和方法来构成的
属性:事物的特征,在对象中用属性来表示(常用名词).
方法:事物的行为,在对象中用方法来表示(常用动词)
对于一个手机来说
属性有:尺寸、颜色、价格、品牌、分辨率等等
方法有:打游戏、拍照、打电话、支付、看视频、干架砸人等等
为什么需要对象
保存一个值的时候,可以使用变量
保存多个值的时候,可以使用数组,
如果要保存一个人的完整信息,就需要用到对象
创建对象的三种方式
利用字面量来创建对象
创建对象的时候使用键值对的形式
调用对象
调用属性
对象名.属性名
对象名['属性名']
调用方法
对象名.方法名() 注意调用方法的时候要加小括号,因为方法实际上是一个函数
利用new Object创建对象
语法
var obj = new Object();
利用构造函数来创建
什么是构造函数
是一种比较特殊的函数,主要是用来初始化对象的,而且要为对象的属性来赋初始值,它经常与new运算符一起使用,我们一般会将对象中的一些公共的属性和方法抽取出来,封装到构造函数中。
创建构造函数注意
构造函数是用于创建某一类对象的,首字母要大写。
构造函数要和new关键字一起使用
构造函数的作用就是需要将对象的相同属性和方法抽取出来,封装在一起,然后可以创建不同的对象但会具有相同的属性和方法,只不过值不一样而已。
使用构造函数创建对象的过程
1、new创建了一个空对象
2、this就会直接指向刚才创建的空对象
3、执行构造函数里面的代码,来给这个空对象添加属性和方法
4、返回这个对象(构造函数里不需要return)
构造函数和对象的区别
构造函数
构造函数是抽象了对象的公共部分,封装到函数中,泛指某一大类(class)
创建对象
特指某一个具体的对象,通过new关键字来进行创建,创建对象的过程也叫做对象的实例化。
遍历对象的属性
for... in... 语句来遍历对象的属性
对象中嵌套数组
对象中嵌套数组,数组中继续嵌套对象
数据类型的区别
简单数据类型
也叫做基本数据类型,在存储时变量存储的是值的本身
比如:string、number、boolean、undefined、null
复杂数据类型
也叫做引用数据类型,在存储时变量存储的仅仅是地址,地址会指向存储的数据
比如:使用new关键字来创建的对象(系统自带对象,自定义对象),比如:Object、Array、Date等等
栈和堆的概念
简单数据类型是存放在栈里面的,在栈中直接开辟一段内存空间存放值的本身
复杂数据类型是首先在栈里面开辟空间存放一个十六进制的地址,然后地址指向堆中的数据
简单数据类型的传参
复杂数据类型传参
内置对象
什么是内置对象
JS对象对象分成3种:自定义对象、内置对象、浏览器对象
自定义对象和内置对象是js的基础内容,属于ECMAScript,浏览器对象是js独有的,指的是js的api
内置对象是js自带的对象,开发者可以直接使用,提高开发效率
js提供的内置对象有Math、Date、Array、String等等
自己封装一个数学对象
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4