代码改变世界

node js 函数和对象

2019-10-15 19:51  覃振鸿  阅读(584)  评论(0编辑  收藏  举报

1.函数

1.1匿名函数

函数声明

function fn(){  }

函数表达式

var fun=function(){  }

 函数名称和函数名称()的区别

  fun/fn   fun()/fn()

  函数名称是一个变量,对应的是函数的结构

  函数名称()是函数的调用,会执行函数体,得到返回值

对比函数声明和函数表达式的区别

  函数声明创建的函数存在提升,可以在所在作用域任意位置调用

  函数表达式创建的函数只存在变量的提升,必须先创建再调用

1.2匿名函数自调用

目的: 创建函数作用域,防止污染全局

(function(形参列表){

  //函数体,封装的代码不会污染全局

})(实参列表);

1.3回调函数

将匿名函数以实参的形式传递

function fn(a){

  //调用fn的时候,匿名函数会赋给形参a,a就是函数名称;a()就是调用传递的匿名函数

}

fn( function(){ ... } ) 

.1.4全局函数

 Number()/parseInt()/parseFloat()/isNaN()

 isFinite()  检测一个值是否为有限值 true->有限值 false->无限值

   1/0  ->  Infinity 无穷,0做除数返回无限值

 encodeURI()  编码一个字符串为URI

 decodeURI()  解码URI为一个字符串

  编码和解码主要是针对于汉字和部分英文字符

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

2.对象

 

属于引用类型数据

 

 对象: 是一组属性(property)和方法(method)的集合

 

 一个人: 属性有身高,体重,姓名...方法有唱歌,敲代码...

 

 一部手机: 属性有品牌,尺寸,颜色...方法有看视频,玩游戏,办公...

 

 万物皆对象

(1)JS中的对象

  内置对象: JS提供的

  宿主对象: 根据不同的执行环境划分,分服务器端和浏览器端

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

(2)自定义对象

  对象字面量

  内置构造函数

  自定义构造函数

 (3)使用对象字面量创建对象

  使用大括号创建空对象

  属性名和属性值之间用冒号隔开

  多组属性之间用逗号隔开

  属性名中引号可加可不加,如果含有特殊字符比价添加

 (4)访问对象中的属性

  对象.属性名

  对象['属性名']

  如果属性不存在,返回undefined

(5)使用内置构造函数创建对象

  new Object()  创建一个空对象

  需要访问对象中属性,并添加每一项

(6)遍历对象中的属性

  依次访问对象中的每个属性,是一个循环

for(var key in 对象){

  key  代表对象中每个属性名

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

}

 (7)对象中的方法

var person={

  name:'tom',

  say: function(){

    this.name  //this 默认指代当前所在的对象

  }

}

person.say(); //调用对象中的方法