JavaScript学习之旅-3(原创)-阿里云开发者社区

开发者社区> 开发与运维> 正文

JavaScript学习之旅-3(原创)

简介: 在上一篇文章中,我们主要介绍了javaScript的基本语法、数据类型、数组,这一篇的内容我们主要学习JavaScript的变量、对象 变量 变量是存储信息的容器。

在上一篇文章中,我们主要介绍了javaScript的基本语法、数据类型、数组,这一篇的内容我们主要学习JavaScript的变量、对象

变量

变量是存储信息的容器。当然,这是百度上面的解释。我个人通俗的理解是(通过拆字来分析):变,说明这个物质在某一领域是可以变化、可以拓展的,但是变化的主动权需要有一定依据,你不能不受控制的变化(某一领域,我们可以理解为数据类型,主动权可以理解为代码逻辑,用户使用逻辑);量,在某一领域要遵循该领域定义的相对范围之内,无休止的大或者小是不行的,否则计算机在区分数据类型的设计之初就没有了任何意义(一定范围,我们可以理解为数据类型对应的使用范围),在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

变量设计规则:

A:变量必须以字母开头

B:变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)

C:变量名称对大小写敏感(y 和 Y 是不同的变量)

变量在JavaScript中就是用一个变量名表示,变量名是大小写英文、数字、$和_的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如if、while等。申明一个变量用var语句,比如:


img_454a551076dd7f978d8032d19ccc2fa3.png
基本变量


在JavaScript中,使用等号=对变量进行赋值。可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,但是要注意只能用var申明一次,只能用var申明一次,例如:


img_c3b25a56cdd163d1e47e7fa7096f0bea.png
只能用var申明不同的数据类型

如上图,我们的a变量给他赋值的是一个数值类型,但当我们给a变量赋值字符串类型的"我是字符串类型哟",alert居然显示的是新赋值的结果

如果是在JAVA中,这种写法肯定不允许会直接报错的,首先因为字符串和int的数据类型不同,而且两者没有直接继承关系。但是在JS中,允许使用var进行这样的跨数据类型操作

JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量:


img_af735913d207426724e994be4a4e464a.png
全局变量

使用var申明的变量则不是全局变量,它的范围被限制在该变量被申明的函数(也叫 方法 )体内,同名变量在不同的函数体内互不冲突。

为了修补JavaScript这一严重设计缺陷,ECMA在后续规范中推出了strict模式,在strict模式下运行的JavaScript代码,强制通过var申明变量,未使用var申明变量就使用的,将导致运行错误。

启用strict模式的方法是在JavaScript代码的第一行写上:

' use strict ' ;

这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏览器将开启strict模式运行JavaScript。所以,为了解决这个问题,我们最好严格要求自己,使用 var 变量进行对应的编码开发。

JavaScript 变量的生命周期:

JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。

对象

我们首先来复习下在Java中对于类和对象的概念。首先,Object 类是最顶层的基类,所有的类都直接或间接继承Object。Java这门语言的本质就是面向对象开发(new 对象,使用对象 ,比如我们new 一个女朋友,让她下面给男性朋友吃来补充能量),面向对象的开发来讲也分为三个过程:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。类与对象时整个面向对象中最基础的组成单元。那么,在Java中,

:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);

对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。

可以一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。

那么JavaScript的对象是什么?

首先,当我们这样声明一个 JavaScript 变量时:

var h = "Hello Word" ; 实际上已经创建了一个 JavaScript 字符串对象。JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期、函数,等等。我们也可以自定义自己的对象。

JavaScript的自定义对象是一组由键-值(key - value)组成的无序集合,如下图:

img_8e5e6f69689619fb0442105745dbd0ac.png
自定义对象

这里的person.name person.age就是取出对象里面的值,这样的写法是不是很像我们java自定义bean里面用public声明的成员变量。

首先,JavaScript对象的键都是字符串类型,值可以是任意数据类型。上述person对象一共定义了6个键值对,其中每个键又称为对象的属性,例如,person的name属性为' tanzuowu ',age属性为26。要获取一个对象的属性,用  对象变量 . 属性名 的方式即可获取。

关于变量和对象的介绍大概就是这样

未完待续。。。

如果这篇文章对你有帮助,希望各位看官留下宝贵的star,谢谢。

Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章