博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript中对象都是通过函数创建的
阅读量:6243 次
发布时间:2019-06-22

本文共 1469 字,大约阅读时间需要 4 分钟。

面向对象是当代编程的主流思想。无论是C++还是Java,都是面向对象的。严格意义上来讲,JavaScript并不是面向对象的, 但Javascript的灵活性足以让我们将其用作一门面向对象语言.

JavaScript是一种没有类的,面向对象的语言。它使用原型继承来代替类继承。

在学习原型继承前,我们来了解一下在javascript中对象的概念。可以先告诉大家,javascript的对象是不同于 Java, C++中对象的概念的。

学过java或者C++的人都知道,对象是什么、对象是怎样产生的。为了和javascript中的对象进行比较,还是举一个java下对象的例子

class person{string name;string birthday;public void sayhello{  System.out.println("hi,I am "+name+",I was born in "+birthday);}}person Amy=new person();

在java或C++里,对象是new一个class出来的,里面有字段,属性,方法.

但是在javascript中,对象里面的一切都是属性,只有属性,没有方法。那么方法如何表示呢?方法也是一种属性,表示为键值对的形式。

/通过字面量定义的对象var Amy = {                  name : "Amy",                  birthday : "1997年1月1日",                 say_hello   : function(){ console.log( "hi,I am "+name+",I was born in "+birthday); }            };

或者通过方法来创建一个对象:

function person() {                 name : "Amy",                  birthday : "1997年1月1日",                 say_hello   : function(){ console.log( "hi,I am "+name+",I was born in "+birthday); }        }        var Amy = new person();

可以看到,javascript中function(函数)的作用相当于java中class(类)的作用,那么在javascript中一句很重要的话就是,

对象都是通过函数创建的。


javascript的数据有两种,简单数据和复杂数据。简单数据有undefined,null,boolean,number和string这五种。复杂数据只有一种,即对象(object)。

那么,在javascript中,数组是对象,函数也是对象。

比如,数组:

var mycars=new Array();//Array()是一个函数,对象都是由函数创建的mycars[0]="Saab"mycars[1]="Volvo"mycars[2]="BMW"

比如,函数:

var fn = function () {            alert(100);        };  fn.a = 10;  fn.b = function () {           alert(123);     }//函数就作为对象被赋值了a、b两个属性

转载地址:http://mapia.baihongyu.com/

你可能感兴趣的文章
人工智能+建筑,会产生什么?
查看>>
防抖与节流
查看>>
Cocos2dx源码记录(9) CCQuadCommand
查看>>
浅谈Promise怎么取消或中断
查看>>
JavaScript——执行环境及作用域
查看>>
C++ STL之stack栈
查看>>
【MySQL (6) | 详细分析MySQL事务日志redo log】
查看>>
Linux远程管理常用命令
查看>>
魅族mx5详细打开usb调试模式的步骤
查看>>
ConstraintLayout的使用教程
查看>>
前后端俱全的 具有聊天功能的 react 项目
查看>>
Redux reselect
查看>>
Spring 通过xml获得容器的三种方法比较
查看>>
MySQL索引面试题
查看>>
Systemd 入门教程:命令篇
查看>>
JS 常用函数垫片
查看>>
快速批量检查所有虚拟机的各项指标
查看>>
【软件开发底层知识修炼】五 gcc-C语言编译器
查看>>
React组件生命周期
查看>>
RxJava2.0的初学者必备教程(三)
查看>>