JS基础day-6

一.函数的作用域

 全局函数:在全局作用域下创建的函数,可以在任意作用域下调用

 局部函数:在函数作用域下创建的函数,只能在所在的作用域下调用

 作用域链:作用域之间嵌套所形成的一种结构,在查找变量的时候,会沿着作用域链不断往上寻找

函数提升:程序执行前,会将整个函数提升到所在作用域的最前边,可以先写调用再写创建

二.递归

  是在函数内部调用自身这个函数

  特点:是一个死循环,使用不当会产生内存泄漏(内存占满)

用法:

(1)找边界条件

(2)找规律

(3)都要结合return

斐波那契数列:第1、2项的值是1,从第3项开始,每项的值是前两项相加的和

1   1   2   3   5   8    13   21

使用递归算法,计算出任意一项的值

三.匿名函数

 function (){}

 1.创建函数

函数声明

function fn(){

}

函数表达式

var fun=function(){

}

  ①对比函数名称()和函数名称的区别

   函数名称()   调用函数,执行函数体中的代码

   函数名称   本质上就是一个变量,保存了一个函数

  ②函数表达式和函数声明两种创建函数的区别

   函数声明方式存在函数整体提升,可以先写调用再写创建

   函数表达式只存在声明提升,必须先创建再调用

c() //5

var c=3

function c(){

  console.log(5)

}

c() //报错

 2.自调用

;(function(){

  函数作用域,变量局部变量,不存在全局污染

})()

 3.回调函数

  把函数作为参数传递

function nan(){

}

function  tao(madai){

  madai()  //通过形参来调用传递的函数

}

tao( nan )

tao( function(){  } )

四.系统函数

 isNaN()    检测一个字符串中是否含有非数字,含有->true  不含有->false

 eval()   执行字符串中的表达式

五.对象

 对象是一组属性和方法的集合

 一个手机,属性有颜色,尺寸,大小,品牌.. 方法有打电话,发短信,玩游戏….

 ,属性有身高,体重,肤色,发色… 

 万物皆对象

 1.JS中的对象

   自定义对象:用户创建的对象

   内置对象:JS提供的对象

   宿主对象:根据执行环境划分

 2.自定义对象——对象字面量创建

  {属性名: 属性值, 属性名: 属性值…}

  属性名的引号可以不加,如果含有特殊字符必须添加

  练习:创建一个员工对象,包含的属性有编号,姓名,性别,工资,部门名称

 3.访问属性

  对象.属性名

  对象[‘属性名’]

  如果属性不存在返回undefined

 4.内置构造函数

  new Object()   创建一个空对象,需要单独添加每个属性

 5.遍历属性

  循环访问每个属性

   for-in

for(var k  in  对象){

  k 每个属性名

  对象[k]  属性名对应的属性值

}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值