文档章节

2_变量和数据类型

1217528969
 1217528969
发布于 2015/02/27 15:38
字数 1177
阅读 13
收藏 0
点赞 0
评论 0

2.1变量
    JavaScript 是一种弱类型的脚本语言
    var c = 3;即变量的声明(变量使用之前必须加var声明,编程规范)
    变量的命名规则!
        1.变量命名必须以字母或是下标符号”_”或者”$”为开头。
        2.变量名长度不能超过255个字符。
        3.变量名中不允许使用空格。
        4.不用使用脚本语言中保留的关键字及保留符号作为变量名。
        5.变量名区分大小写。(javascript是区分大小写的语言)

    全局变量
        1.在方法外部声明的变量
        2.方法内部,没有加var关键字声明的变量

    局部变量
        方法内部,使用var声明的变量

var a = 3; //number类型,全局变量 window.a
//变量一共有两种: 全局变量和局部变量
function test(){
    var b = 2; //局部变量
    c = 5; //全局变量 不使用var关键字声明的变量作用域为全局作用域 window.c
    console.info(a);
}
test();
console.info(c); //c为全局作用域
//console.info(b); //此语句会报错 ReferenceError: b is not defined
//console.info(test.b); //此语句不会报错 undefined 函数中使用var声明的变量在外部无法使用


2.2 数据类型
    ECMAScript中,数据类型也分为基本类型和引用类型两大类.
    基本数据类型:Number、Boolean、String、Undefined、Null
    Number:整数和小数(最高精度17位小数)、NaN、Infinity, -Infinity
    注意:1.除10进制外,还可通过8进制和16进制的字面值来表示,如 070 表示56、0xA表示10.
              2.小数为浮点类型,if(a+b == 0.3) //不要做这样的测试,因为浮点数值最高精度是17位,0.3实际值是0.300000000000000004
    Undefined:表示变量声明但未赋值.
    Null:表示一个空的对象引用(也就是赋值为null)
    引用类型:Object类型 (比如对象、数组、RegExp、Date...)
    Typeof 操作符
    基本类型和引用类型的值
    基本类型是按照值访问的,因为可以操作保存在变量中的实际值
    引用类型则是按引用去访问的

//javascript是弱类型变量的脚本语言,根据赋值决定变量的类型
//ECMAScript中变量类型分为两大类
//  基本类型
//    Number Boolean String Undefined Null
//    基本类型可以使用typeof关键字判断类型
//  引用类型
//    Object Array Date等
//Number类型 整数和小数
var a1 = 10;
var a2 = 10.5;
var a3 = NaN; //not a number
var a4 = 1/0; //正无穷 Infinity
var a5 = 070; //八进制 
var a6 = 0xA; //十六进制
var a7 = 0/0; //NaN
console.info(a1); 
console.info(a2); 
console.info(a3); 
console.info(a4); 
console.info(a5); 
console.info(a6); 
console.info(a7); 
console.info("a1 typeof " + typeof a1); 
console.info("a2 typeof " + typeof a2);
console.info("a3 typeof " + typeof a3);
console.info("a4 typeof " + typeof a4);
console.info("a5 typeof " + typeof a5);
console.info("a6 typeof " + typeof a6);
console.info("a7 typeof " + typeof a7);  

//js的小数运算会出现精度问题,一般不使用小数比较
var a1 = 0.1;
var a2 = 0.2;
console.info(a1 + a2); //0.30000000000000004
if(a1 + a2 == 0.3){
    console.info("相等");
} else {
    console.info("不相等");
}
var a1 = parseInt("aaaaa");
console.info(a1); //NaN
var a2 = parseInt("123xyz");
console.info(a2); 

//Undefined数据类型 只有一个值undefined,表示声明变量了,但没有赋值
var x;
console.info(x); //undefined 
console.info(typeof x); // undefined 
        
//Null数据类型 空值 表示一个空对象的引用
var x = null;
console.info(x); //null 
console.info(typeof x); // object 

//String类型
var s1 = "我是字符串1";
var s2 = "我是字符串2"; 
console.info(s1);
console.info(typeof s1); //string 
console.info(s2);
console.info(typeof s2); //string 

//Boolean类型
var flag1 = false;
var flag2 = true; 
console.info(flag1);
console.info(typeof flag1); //boolean 
console.info(flag2);
console.info(typeof flag2); //boolean 

//引用数据类型
//引用数据类型要使用instanceof关键字判断具体的类型
var arr = [1, 2, 3]; //数组类型 Array
var d = new Date(); //日期类型 Date
var o = {}; //对象类型 Object
console.info(arr); // [1, 2, 3]
alert(arr); //1,2,3
console.info(typeof arr); //object
console.info(arr instanceof Object); //true
console.info(arr instanceof Array); //true
console.info(d);
console.info(typeof d); //object
console.info(d instanceof Object); //true
console.info(d instanceof Date); //true
console.info(o);
console.info(typeof o); //object
console.info(o instanceof Object); //true 
//typeof 操作符 用来判断基本数据类型
var a = 10;
var b = 10.3;
var c = true;
var d = "abcd";
var e = new Date();
var f = NaN;
var g = [1, 2, 3];
var h = undefined;
var i = null;
console.info(typeof a); //number
console.info(typeof b); //number
console.info(typeof c); //boolean
console.info(typeof d); //string
console.info(typeof e); //object
console.info(typeof f); //number
console.info(typeof g); //object
console.info(typeof h); //undefined
console.info(typeof i); //object

注意一下代码:

//对未初始化的变量执行 typeof 操作符会返回 undefined 值;
//而对未声明的变量执行 typeof 操作符同样也会返回 undefined 值。
var message; // 这个变量声明之后默认取得了 undefined 值
// 下面这个变量并没有声明
// var age
alert(typeof message); // "undefined"
alert(typeof age); // "undefined"
alert(message); //undefined
alert(age); //发生错误 ReferenceError: age is not defined

© 著作权归作者所有

共有 人打赏支持
1217528969
粉丝 1
博文 27
码字总数 14810
作品 0
济南
Java基础概述

数据类型 Java中的数据是分类型的,可以分为以下几种类型: l 基本数据类型:整数类型、小数(浮点型)类型、字符类型、布尔类型 l 引用数据类型:数组、类、接口 常量 固定不变的值,就是常...

Sweltering ⋅ 2017/11/30 ⋅ 0

Java之基本数据类型的封装类

基本数据类型 封装类 boolean Boolean byte Byte short Short int Integer long Long char Character float Float double Double 基本数据类型的封装类 1.基本类型的封装类(wrapper)用来存储...

Aaron_DMC ⋅ 2016/12/15 ⋅ 0

【计算机本科补全计划】Java学习笔记(三) 数据类型

正文之前 Java的面向对象特性太明显了。先开篇告诉你我们的对象是啥意思,然后直截了当的告诉你,每个文件都是一个类。也就是说每个文件都可以给你传出来一种对象,然后你就面对这群文件,也...

HustWolf ⋅ 2017/11/25 ⋅ 0

C语言再学习--关键字

C语言一共有32个关键字,如下表所示: 关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double 声...

qq_29350001 ⋅ 2016/11/03 ⋅ 0

8、C语言 —— 指针

1、什么是指针? 直接引用:直接通过变量名来读写变量; 间接引用:先通过变量名访问另一个变量的地址,再通过另一个变量来访问读写; 用来存放变量地址的变量,就称为"指针变量"。 2、指针的...

cobish ⋅ 2014/07/11 ⋅ 0

C语言的32个关键字

C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) ...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

C语言-第八章、构造数据类型

8_1 结构体的概念和结构体变量 _1.1 结构体的概念 C语言中允许用户自己构造由不同数据类型的数据所组成的集合体,称为结构体。结构体属于数据类型,每一个结构体有一个名字,称为结构体名。一...

南风末 ⋅ 2016/11/05 ⋅ 0

Java 基本数据类型

Java 基本数据类型 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 ...

北國丶江山 ⋅ 2016/09/05 ⋅ 0

C语言-第二章、C基础与顺序结构程序设计

2_1 C语言的字符集与标识符 _1-1.C的字符集 1-2.C的标识符 注:规定:用户定义的标识符必须以字母或下划线“”“”开头,不能含有除字母、数字和下划线外的其他字符。 分类:(1)关键字 (2...

南风末 ⋅ 2016/10/30 ⋅ 0

说说javascript变量类型和变量类型检测

javascript是一种弱类型语言,它的典型例子就是即变量在使用的时候可以给它赋值任何类型。那么先来看下javascript都有那些变量类型已经它们的使用方法吧。 先来看看javascript都有那些类型吧...

开源中国最帅没有之一 ⋅ 2014/10/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

6. Shell 函数 和 定向输出

Shell 常用函数 简洁:目前没怎么在Shell 脚本中使用过函数,哈哈,不过,以后可能会用。就像java8的函数式编程,以后获取会用吧,行吧,那咱们简单的看一下具体的使用 Shell函数格式 linux ...

AHUSKY ⋅ 8分钟前 ⋅ 0

MySQL 内核深度优化

MYSQL数据库适用场景广泛,相较于Oracle、DB2性价比更高,Web网站、日志系统、数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务...

OSC_cnhwTY ⋅ 14分钟前 ⋅ 0

单片机软件定时器

之前写了一个软件定时器,发现不够优化,和友好,现在重写了 soft_timer.h #ifndef _SOFT_TIMER_H_#define _SOFT_TIMER_H_#include "sys.h"typedef void (*timer_callback_function)(vo...

猎人嘻嘻哈哈的 ⋅ 16分钟前 ⋅ 0

好的资料搜说引擎

鸠摩搜书 简介:鸠摩搜书是一个电子书搜索引擎。它汇集了多个网盘和电子书平台的资源,真所谓大而全。而且它还支持筛选txt,pdf,mobi,epub、azw3格式文件。还显示来自不同网站的资源。对了,...

乔三爷 ⋅ 25分钟前 ⋅ 0

Debian下安装PostgreSQL的表分区插件pg_pathman

先安装基础的编译环境 apt-get install build-essential libssl1.0-dev libkrb5-dev 将pg的bin目录加入环境变量,主要是要使用 pg_config export PATH=$PATH:/usr/lib/postgresql/10/bin 进......

玛雅牛 ⋅ 26分钟前 ⋅ 0

inno安装

#define MyAppName "HoldChipEngin" #define MyAppVersion "1.0" #define MyAppPublisher "Hold Chip, Inc." #define MyAppURL "http://www.holdchip.com/" #define MyAppExeName "HoldChipE......

backtrackx ⋅ 55分钟前 ⋅ 0

Linux(CentOS)下配置php运行环境及nginx解析php

【part1:搭建php环境】 1.选在自己需要安装的安装包版本,wget命令下载到服务器响应目录 http://php.net/releases/ 2.解压安装包 tar zxf php-x.x.x 3.cd到解压目录执行如下操作 cd ../php-...

硅谷课堂 ⋅ 今天 ⋅ 0

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部