在JS中,函数与对象的区别是什么呢?

JavaScript026

在JS中,函数与对象的区别是什么呢?,第1张

在js中函数就是一个对象,函数在没有返回值时默认返回的一个对象,一个函数也可以作为参数传递给另外一个函数,这种方式通常被叫做 callback 模式。另外推荐给你一本书《JavaScript.Patterns》里边对日常代码编写规范做了很好的解释,对于js语言也解释的很详细,如果你已经有一定的js基础了推荐你看看这本书

所有的函数都是一个对象,所有的对象,都可以用构造函数创建。

凡是构造函数都是可以new的,也就是说都可以成为对象,这里当然要给Function类型的对象取个名字,它就叫“Function对象”。

函数

function fun(){

    // 定义变量时没有使用关键字

    var atguigu = "this is atguigu"

    // 在函数作用域访问变量 

    console.log( atguigu )

    }

    

    fun()

构造函数----》new成为Function对象

function Fun() {

   this.name = '小王'//定义属性

   this.age = '18'//定义属性

   this.fn = function () {

   return 1999

   }

}

对象

var obj1 = {

    name : '手速快',//属性

    age :  27,//属性

    fun :function () {//方法

    return  10

   }

}

console.log(obj1)

什么是对象

       

JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。

对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;

对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;

JavaScript 提供多个内建对象,比如 String、Date、Array 等等,使用对象前先定义,如下使用数组对象:

  var objectName =new Array()//使用new关键字定义对象

或者

  var objectName =[]

访问对象属性的语法:

objectName.propertyName

如使用 Array 对象的 length 属性来获得数组的长度:

var myarray=new Array(6)//定义数组对象

var myl=myarray.length//访问数组长度length属性

以上代码执行后,myl的值将是:6

访问对象的方法:

objectName.methodName()

如使用string 对象的 toUpperCase() 方法来将文本转换为大写:

var mystr="Hello world!"//创建一个字符串

var request=mystr.toUpperCase() //使用字符串对象方法

以上代码执行后,request的值是:HELLO WORLD!