第三章 基本概念(第二部分:变量)

 二. 变量初步

  ECMAScript是一种弱类型语言,表现为变量只是用于保存值的占位符。换言之,变量可以用来保存任何类型的数据。

  给变量mind,age赋值:

MyMood=”happy”;

MyAge=”27”;

  Js不要求提前声明变量,但是声明变量是一个良好的习惯。你可以一次声明多个变量:

var MyMood,MyAge

  或者更加精炼:

var MyMood=”happy”,MyAge=”27”;

 三. 六大数据类型(其实就是变量类型)

  ECMAScript包括5种简单数据类型和1种复杂数据类型。

  五类简单数据类型:undefined,null ,bolean,number和string。

  一类复杂数据类型:object。Object本质上是由一组无序的名值对组成的。

  【首先,运用typeof操作符看数据类型】

  typeof其实是一个判断+输出的过程。但是typeof不是一个函数。

  alert(typeof(变量))

alert(typeof(59));//59是一个数值,输出”number”

  问题:在js中键入alert(typeof(变量))可能返回哪些值?

  以下就这个问题分类讨论之。

  1.Undefined

  字面意思是未定义,只有一个值就是undefined。一个数据未声明时,alert(typeof)结果会产生错误,但是返回的就是undefined。如果声明了变量但未初始化(即定义数据类型),比如我var a; alert(a)输出的都是undefined数据型。结果是一样的。

  换言之,以下情况会返回undefined:你真的没定义;定义了,但是没给值。

  因此我们可以得出结论:js中不强求提前声明变量。

  那为什么声明变量是良好的习惯呢?

  更好的判断:如果我们做到事事在事前声明,当typeof返回undefined时,就知道该变量未被声明,而不是未被初始化(未定义数据类型)。

  那要不要凡事初始化?这在其它编程语言中或许是个不错的习惯,然而在此没必要。毕竟ECMAScript是一个弱类型语言,变量本身不具有类型。

  

  

  2. Null空对象

  Null表示一个空对象,所以对其进行typeof判断,输出的是object(对象)。自身只有一个值那就是null。实际上undefined派生自none,在直接的判断中,null==undefined的判断值为true。但是二者的应用范围完全不同。最明显的例子是当你声明了一个对象,但是还没存放东西,都应该明确声明为null。

  3. Boolean类型

  布尔值数据只有两个字面值那就是true和false。函数Boolean(a)可以把数据a转化为布尔值。当a为一下数据类型时。判断如下:

  真的:true

  非零的数字,非空的字符串(除了var a=""),非空对象为真。

  假的:false

  数字0和NaN 空字符串 空对象(null)undefined

  布尔值常被用于函数控制语句中。

  

  4. number

  数字类型:在其它强类型语言中,数字包括整数(number)和浮点数(float),在js中通通定义为number。

  浮点数值要求数值必须包含一个小数点,且小数点必须有一位小数。浮点数最多被解析为17位。如阿伏伽德罗常数可表示为:6.22e22。而0.1+0.2的结果是0.3+4*10^(-17).储存的值也不是无限的。只是说超过一定的值后,系统判定为Infinity(无限)值。

  【数据类型转换示例——字符串转换数字】

  (1)parsInt()和parsInt()

  给它一个字符串,可以从左往右提取第一段数字为整数。

  如果parsInt(12px),结果为12。

  parsInt(12px34)结果为12;

  parsInt(px)结果为NaN(Not a Number):不是一个数字。NaN(非数值)是一个特殊的数值。NaN和任何东西运算都是NaN,它与任何值都不相等,包括NaN本身。

  为什么要把NaN定义为数值?——因为任何值除以非数值都会导致代码停止执行,如果把NaN定义为一个数值,出现这种情况(设计NaN的任何数值计算),都自动返回NaN,就不会出错了。

  如何检测NaN?:

  (2)显式(强制)转换——isNaN函数

  isNaN函数:把可能转换为数值的数据(字符串,布尔值)尽可能转换为数值,再进行判断,非数值才返回true。如isNaN(“95”)转换结果为95,判断结果为false。再如:isNaN(“true”)转换结果为1,判断结果为false。也就是说当isNaN返回为true时,所判断的对象就不是一个数字。

  设想情景:假设两个文本输入框(txt1,txt2),一个按钮,在文本输入框输入数字,点击按钮弹出数字之和。如果用户在文本框输入的是字符串,写一个函数弹出警告。

var num=parseInt(oTxt1.value)+parseInt(oTxt2.value);

if(isNaN(num)){

alert(‘您输入的计算参数不正确‘);

}else{alert(num)}

  这样对用户友好些。

  (3)隐式类型转换:

var a=‘12‘;

var b=12;

alert(a==b)

  输出值为true,偷偷地转换了。

  但如果最后一行是alert(a===b)

  输出值为false;

  再看另外一个例子

var a=‘12‘;

var b=‘7‘;

alert(a-b);

  结果为5.

  结论:四则运算中,除了加法,其它都是隐性转换。

  5.string

  字符串,理论上包在单引号,双引号内的内容都是字符串。如果字符串包含引号回车等数据,需要用到字符字面量(类似HTML实体)来处理

  字符串是只读的。实际操作中可以用"java"+"script"这样的方法给变量添加储存,但本质上是重新赋值!

  转换为字符串推荐使用“string()”函数。自变量是什么值,就被转换为对应的字符串。

  6.object

  广义来说,js中所有都是对象。但狭义地说,对象是一组数据和功能的集合。属于复合类型。声明一个新对象可以用

  var a=new Object();

  那么我们可以断言,除了数字、字符串、布尔值、undefined外,一切都是对象。

  数组,日期也是对象。

  关于对象的种种属性,将在以后阐述。

时间: 2024-10-15 15:21:31

第三章 基本概念(第二部分:变量)的相关文章

《JS权威指南学习总结--第三章类型、值和变量》

第三章 类型.值和变量 内容要点 一.数据类型 1.在编程语言中,能够表示并操作的值的类型称做数据类型 2.JS的数据类型分为两类: 原始类型:数字.字符串和布尔值 对象类型 3.JS中有两个特殊的原始值:null(空)和undefined(未定义) 4.对象(object):是属性(property)的集合,每个属性都由"名/值对"构成. 5.函数:JS中定义的另一种特殊对象.函数是具有与它相关联的可执行代码的对象,通过调用函数来运行可执行的代码,并返回运算结果. 6.构造函数: 如

第三章 基本概念 --《Javascript高级程序设计》

一.语法 1.区分大小写 ECMAScript 中的一切(变量.函数名和操作符)都区分大小写. 2.标识符 所谓标识符,就是指变量.函数.属性的名字,或者函数的参数. 标识符可以是按照下列格式规则组合起来的一或多个字符: 第一个字符必须是一个字母.下划线(_)或一个美元符号($): 其他字符可以是字母.下划线.美元符号或数字. 按照惯例,ECMAScript 标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写,例如: firstSecond    myCar     do

第三章 基本概念(下) --《Javascript高级程序设计》

六.语句 6.1 if语句 大多数编程语言中最为常用的一个语句就是if 语句.以下是if 语句的语法:if (condition) statement1 else statement2其中的condition(条件)可以是任意表达式:而且对这个表达式求值的结果不一定是布尔值.ECMAScript 会自动调用Boolean()转换函数将这个表达式的结果转换为一个布尔值.如果对condition求值的结果是true,则执行statement1(语句1),如果对condition 求值的结果是fals

《avascript 高级程序设计(第三版)》 ---第三章 基本概念

本章主要介绍Javasript语言的一些语法: 1.严格模式:开启:"use strict"; 2.变量:全部用var来定义,在函数中使用的称为局部变量,不能全局使用. 3.数据类型:undefined,null,boolean,number,string,object.不可以定义自定义类型. 1)使用typeof操作符返回变量的数据类型. 2)关于浮点数,因为存在精度问题,所以不要试图对一个浮点数做比较. 数值范围的问题:在ECMAScript中,最小值是Number.MIN_VAL

第三章 基本概念

3.1语法 3.1.1区分大小写 ECMAScript中的一切(变量.函数名和操作符)都区分大小写. 3.1.2标识符 指变量.函数.属性的名字,或者函数的参数. 格式规则: 第一个字符必须是字母.下划线(_).美元符号($): 其他字符可以是字母.下划线.美元符号或数字. ECMAScript标识符采用驼峰大小写格式,第一个字母小写,剩下的每个有意义的单词的首字母大写. 不能把关键字.保留字.true.false和null用作标识符. 3.1.3注释 //单行注释 /* *多行(块级)注释 *

第三章 基本概念(第五部分:函数初步)

六. 函数初步 无论在哪门语言,函数都是一个相当核心的概念.通过函数可以封装任意多的语句,刻意在任何地方调用执行.函数实质上是一个短小的脚本,需要反复做一件事时,可以利用函数避免重复键入过多重复的代码.良好的编程习惯要求,先定义函数,再使用它们.定义函数用法如下: function 函数名(参数){函数代码;} 比如封装以下代码: var beatles=["Joln","Paul","George","Ringo"]; fo

JavaScript高级程序设计学习笔记第三章--基本概念

一.标识符: 1.区分大小写 2.命名规则: 第一个字符必须是一个字母.下划线(_)或一个美元符号($) 其他字符可以是字母.下划线.美元符号或数字 标识符中的字母也可以包含扩展的 ASCII 或 Unicode 字母字符(如 À 和 Æ) ,但不推荐这样做. 不能把关键字.保留字.true.false和null用作标识符 3.书写方式:最好按照驼峰大小写格式书写,就是第一个字母小写,剩下的每个单词的首字母大写,但不强制这么做二.注释(两种方式) 单行注释:// 多行注释:/*……*/ 三.严格

JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺

一.语法: 区分大小写 2.标识符:就是指变量.函数.属性的名字,或者函数的参数 a.标志符的规则:①第一个字符必须是一个字母.下划线(_)或一个美元符号($).                   ②其他字符可以是字母,下划线,美元符号或者数字. b.标志符采用驼峰大小写格式. c.严格模式:在顶部添加以下代码:"use strict"; d.语句:结尾加入分号.在控制语句中使用代码块为最佳实践. 二.关键字与保留字 三.变量:ECMAScript的变量是松散类型,可以保存任何类型的

C# 图解教程 第三章 类型、存储和变量

类型.存储和变量 C#程序是一组类型声明 C程序是一组函数和数据类型 C++程序是一组函数和类 C#程序是一组类型声明 C#程序或DLL源码是一组一种或多种类型声明 对于可执行程序,类型声明中必须有一个包含Main方法的类 命名空间是一种把相关类型声明分组并命名的方法 类型是一种模板 可以把类型想象成一个用来创建数据结构的模板.模板本身不是数据结构,但它说明了由该模板构造的对象的特征. 类型由下面的元素定义: 名称 用于保存数据成员的数据结构 一些行为及约束条件 例:short类型和int类型