JS-03(函数,作用域,预解析,对象方法,数据类型

函数:封装一段可重复执行调用的代码块

1.声明函数

function 函数名(){

} **function是关键字,函数不调用,自己不执行 **

在这里插入图片描述
2、调用函数
函数名();

函数的参数

在这里插入图片描述
多个参数之间用逗号隔开
在这里插入图片描述
实参不够 为NaN
在这里插入图片描述

函数返回值

return语句(不应该在函数内部打印结果)

在这里插入图片描述
return终止函数
在这里插入图片描述

return只能返回一个值
在这里插入图片描述
在这里插入图片描述
**4、函数如果没有return返回的是 undefined **
在这里插入图片描述

arguments的使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(可以不写形参了)
在这里插入图片描述
函数的两种申明方式
在这里插入图片描述
var是变量名不是函数名 是匿名函数
在这里插入图片描述

作用域

为了提高程序可靠性,减少命名冲突
1、全局作用域
2、局部作用域
在这里插入图片描述
1、全局变量

如果在函数内部,未声明 直接赋值的变量也属于全局变量

2、局部变量
函数的形参也可以看做是局部变量

在这里插入图片描述

作用域链
就近原则
在这里插入图片描述

预解析

运行js:
1、预解析:
js引擎把js里面所有的var还有function提升到当前作用域的最前面
预解析分为变量预解析(变量提升到作用域的最前面,不提供赋值操作
在这里插入图片描述
在这里插入图片描述
函数预解析(函数提升,把函数声明提升到作用域的最前面,不调用函数
在这里插入图片描述
函数表达式调用必须写在函数表达式的下面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、代码运行:
按照代码书写顺序从上往下执行

对象

对象是一个具体事物,游戏不是对象,星露谷是对象
在这里插入图片描述

创建对象的三种方法(object)
利用字面量创建对象:

在这里插入图片描述
在这里插入图片描述
1、属性或者方法采用键 属性名:值 属性值
2、多个属性或者方法里面用逗号隔开
3、方法冒号后面跟一个匿名函数

使用对象
1、 对象名.属性名
obj.uname
2、obj[’ uname’]
3、对象名.方法名
在这里插入图片描述
在这里插入图片描述

利用new Object创建对象
var obj = new Object();
追加属性
obj.uname=’’;
obj.sex=’’;
obj.sayhi=function(){
console.log(‘hi~’);
}

构造函数

前面创建对象的方式一次只能创建一个对象,里面很多属性方法是大量相同的,利用构造函数来重复这些相同的代码,构造函数就是把相同属性方法抽象出来封装到函数里面

function 构造函数名(){
this.属性=值;
this.方法=function(){
}

}
调用: new 构造函数名();

函数首字母一定要大写

不需要return就可以返回结果

调用构造函数 一定要用new

在这里插入图片描述

new在内存中创建了一个空的对象,this指向创建的对象,执行构造函数里的代码,为这个空对象添加属性和方法,返回这个对象
在这里插入图片描述
遍历对象
for (变量 in 对象){

}
在这里插入图片描述
在这里插入图片描述

内置对象

js中对象分为三类:自定义对象,内置对象,浏览器对象
在这里插入图片描述
查询文档
在这里插入图片描述
math对象
不是构造函数,直接使用内部属性方法,不需要new

math.abs去绝对值
math.floor向下取整
math.ceil向上取整
math.round四舍五入,遇到负数的.5往大了取

random
返回一个随机浮点数【0-1)
math.random();
两个数之间的随机整数 并且包含这两个整数
在这里插入图片描述

日期对象
在这里插入图片描述
是构造函数
在这里插入图片描述
日期格式化
在这里插入图片描述
在这里插入图片描述
获取日期的总的毫秒形式(时间戳,永远不会重复)
date对象基于1970年一月一日开始
date.valueOf();
date.getTime();
常用写法
var date=+new Date();
H5新增
Date.now();
在这里插入图片描述
在这里插入图片描述

数组内置对象

创建的两种方式
在这里插入图片描述
检测是否为数组
在这里插入图片描述
添加删除元素的方法
在这里插入图片描述
1、push
在这里插入图片描述
2、unshift
在这里插入图片描述
3.pop
删除最后一个
无参数,一次只能删除一个
返回值是删除的元素,
4、shift
删除第一个,无参数

数组排序

1、翻转数组
在这里插入图片描述
2、冒泡排序
在这里插入图片描述
(只能个位数)

在这里插入图片描述
数组索引
indexOf //返回第一个满足条件的索引号,找不到返回-1
lastIndexOf//从后往前找,同样返回找到的第一个的索引号
在这里插入图片描述
数组去重

在这里插入图片描述
在这里插入图片描述

数组转换成字符串
1、toString();
在这里插入图片描述
2.join(‘分隔符’)

在这里插入图片描述
在这里插入图片描述

基本包装类型

在这里插入图片描述

字符串的不可变

地址不改变,保留地址空间
在这里插入图片描述
在这里插入图片描述
根据字符返回位置
str.indexOf
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

根据位置返回字符(重点)

1、charAt(index)根据位置返回字符
在这里插入图片描述
2.charCodeAt(index)返回ASCII值,
目的:判断按下了哪个键
在这里插入图片描述
3、str[index] H5新增 获取字符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
568

字符串操作方法

在这里插入图片描述
1、concat
2、substr('起始位置’,‘截取字符个数’);
在这里插入图片描述
3、replace(‘被替换的’,‘替换成的’);
只会替换第一个
在这里插入图片描述
在这里插入图片描述
4、字符转换为数组
split('分隔符’);这里的分隔符是圆字符串里的符号,是分隔成数组的依据,连在一起是分不了的
在这里插入图片描述
在这里插入图片描述
简单类型(基本类型或者值类型)与复杂类型(引用类型)
值类型:存储时变量中存储的是值本身
string,number,boolean,null(返回空的对象),undifined
在这里插入图片描述
**引用类型 **:存储时变量中存储的仅仅是地址(引用)
通过New关键字创建的对象(系统对象、自定义对象)
如object,Array,Date
在这里插入图片描述
JS中没有堆栈的概念
在这里插入图片描述
在这里插入图片描述
复杂数据类型传递的是地址
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值