JavaScript(六)函数

时间:2024-07-03 10:07:32

函数的声明方式

  function name () {}     函数声明

  var name = function(){}   函数表达式

  所有函数都有返回值  未return 的函数  返回值 是  undefined

function fun(形参){}

fun (实参)

function () {

  return arguments.length //可以查看传入的了几位参数

}

  查看  函数的参数    可以再 function 里面  console.log(arguments)

变量、作用域 内存问题

   ES5 以及之前    没有块级作用域   全部都是  函数作用域

  变量类型

    原始类型      Number  String   Boolean  Null  Undefined

    引用类型  Array  Object  function

  复制变量的值

    原始类型    的复制是     给新变量一个值

    引用类型 的复制是   把旧变量的地址索引  给 新变量一份

  传递参数

    在给函数内传递一个基础类型的值的时候,会在函数内部创建一个新的局部变量,

      并把值赋值给它

    在给函数内传递一个引用类型的值的时候,会把这个值的索引传递 进去   此时 在函数里

    面改变了值    原来的  值也会改变

 类型检测

  对象和 null 都返回  Object  其他的返回  与之对应的  类型

  typeOf 不能区分  具体是那种对象  所以  配合  instanceOf 一起用

person instanceOf Object    //判断person是不是Object
person instanceOf Array //判断person是不是Array
person instanceOf RegExp //判断person是不是RegExp

引用类型

  创建 object

    字面量  var obj = {};

    构造函数 var obj = new Object();

      属性名  会自动转换成字符串

  对象访问   .  []  当要访问的属性  较复杂的时候    用 []

         .可以给对象添加属性     而 []不可以