//javascript基础语法备忘录-变量和数据类型

// 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名

var message = "hi";
message =100; //有效但是不推荐

//如果声明变量时未初始化,message保存一个特殊值undefined
var message;

// 在函数中定义变量一定要使用var ,否则此变量将成为全局变量

function test() {
var a = 1; //勿要忘记var
}

//ECMAscript有5中基本数据类型,Undefined,Null,Boolean,Number,String

//一个值使用typeof操作符 将返回一下字符串,注意typeof不是函数 而是一个操作符
"undefined" //如果这个值未定义
"boolean" //如果是布尔值
"string" //如果是字符串
"number"//如果是数值
"object" //如果是对象或者null
"function" //如果是函数

//以下三种方式都可以
alert(typeof message); //"string"
alert(typeof (message));//"string"
alert(typeof 95); //number

//Undefined类型只有一个值,就是undefined,在使用var声明但没有初始化的话,这个变量值就是undefined,

var m1 ;
alert(m1 == undefined); //true

//下面与上面等价

var m2 = undefined; //没有必要初始化undefined,未经初始化的值默认就是undefined
alert(m2 == undefined); //true

//注意包含undefined的值和尚未定义的值是不一样的

//下面没有声明 var age

alert(message);//“undefined”
alert(age); //产生错误

//上面的代码第一个 显示message的值 undefined
//第二行显示一个错误 因为age没有定义
//对未声明的变量只能使用typeof检测数据类型 ,但是会返回undefined,为未初始化的也会返回undefined,所以对显示的初始化。例如字符串初始化为"",数值初始化为0, 当使用typeof时,如果返回的是undefined,那么这个变量就没被声明

//对未声明的变量使用delete不会产生错误,

//Null类型是第二只只有一个值的类型, typeof检测到null时返回object,如果定义的变量用来保存对象,应该初始化为null 这样一来只要检查到对象是否被保存
//只要在保存的变量没有真正保存对象,就应该初始化为null ,这样体现了null作为空对象指针的管理。也用来区别undefined

alert(null == undefined);//ture

var cat = null;
alert(typeof cat); //object

//Boolean类型有两个值,ture和false ,true不一定等于1,false不一定等于0 ,true和false是区分大小写的,True和False不是Boolean的值
//将一个值转换为Boolean 可以使用Boolean();

var t1 = "hello";
var bm = Boolean(t1);

//以下会返回true,
/*
true,非空字符串,非零数字值,任何对象
*/

//以下返回false
/*
false,"",0和NaN,null,undefined
*/

//在流程判断时错误的使用对象而不是布尔值会产生错误

//在进行算术运算的时候 八进制和十六进制都会被转换成十进制,正零和负零被认为相等

//浮点数小数点后必须有一位数字,如果小数点后面没有数字就会作为整数保存,浮点数本身是一个整数,也会被转换成整数

var f1 = .1;//有效但不推荐

var f2 =1.; //解析为1
var f3 =10.0 ;//解析为10.0

//数值范围从 Number.MIN_VALUE~Number.MAX.VALUE 也就是5e-324~1.7976931348623157e+308
//如果超过这个范围,负数转换成-Infinity 正数Infinity
//如果某数得到了INfinity将无法参与下次计算
//可以使用isFinite()函数检测是否在范围内 不是返回false

var result = Number.MAX_VALUE+Number.MIN_VALUE;
alert(isFinite(result)); //false

//NaN(Not a Number) 用于表示返回一个数值操作,但是没有返回的情况,任何NaN参与的运算结构都是NaN,它与任何值都不相等,包括自己

alert(NaN==NaN) //flase

//isNaN()接收一个参数 任何不能转换为数值的值都会使整个函数返回true

//数值,布尔值,对象,字符串都有toString()方法,但null和undefined没有 , 通过传参数可以使toString()转换为输出数值的字符串形式

var num = 10;
alert(num.toString(2)); //"10"
alert(num.toString(8)); //"1010"
alert(num.toString(10)); //"10"

//如果不知道转换值是不是null或者undefined时 使用String();

alert(String(null)); //"null"
alert(String(age)); //"undefined" age没有声明

//Object类型
var o = new Object();
var o2 = new Object; //推荐

//每个对象都有以下方法和属性

//constructor 用于保存创见当前对象的构造函数 上面例子就是Object();
//hasOwnProperty(propertyName),检查给定的属性是否存在当前对象中 属性名必须是字符串形式
o.hasOwnProperty("name");
//isPrototypeOf()检查传入的对象是否是对象的原型

javascript基础语法备忘录-变量和数据类型的更多相关文章

  1. 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式

    本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式

  2. python基础语法(变量与数据类型)

    python基础语法(变量与数据类型) 一.python变量 python中的变量不需要声明.每个变量在使用钱都需要赋值,变量赋值以后,该变量才会被创建 在python中,变量就是变量,它没有类型,我 ...

  3. scala基础语法(变量,数据类型,函数)

    一:常量与变量 1.常量 2.两种变量定义方式(严格与不严格) 3.Float注意点 3.注意点 变量名后加上: 类型首字母是大写 4.占位符_ 但是需要制定类型 5.scala数据类型 6.其他类型 ...

  4. 学习 JavaScript (三)核心概念:语法、变量、数据类型

    JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,这篇文章主要讲解的是前面三个,后面三个下一篇文章再讲解. 01 语法 熟悉 JavaScript 历史的人应该都知道 ...

  5. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  6. javascript基础语法——词法结构

    × 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...

  7. Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制

    Unit04: JavaScript 概述 . JavaScript 基础语法 . 流程控制 my.js function f3() { alert("唐胜伟"); } demo1 ...

  8. javascript基础语法——表达式

    × 目录 [1]原始表达式 [2]复杂表达式 前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascr ...

  9. Java基础语法(2)-变量

    title: Java基础语法(2)-变量 blog: CSDN data: Java学习路线及视频 1.什么是变量? 变量的概念 内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量 ...

随机推荐

  1. static的功能

    static : 翻译成中文是静态的意思.  使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系.   在C语言中,static的 ...

  2. 网站下载器WebZip、Httrack及AWWWB.COM网站克隆器

     动机 闲扯节点,可略读. 下载并试用这些软件并非是为了一己之私,模仿他人网站以图利.鉴于国内网络环境之艰苦,我等屌丝级半罐水程序员,纵有百度如诸葛大神万般协力相助,也似后主般无能不能解决工作和娱乐中 ...

  3. winform GDI基础(一)

    1获取画布 (1)从PaintEventArgs类中获取画布 private void Form1_Paint(object sender, PaintEventArgs e) { Graphics ...

  4. C#检测系统是否激活[转自StackOverFlow]

    using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServi ...

  5. 在类中使用Response.Redirect()方法

    问题来自:"我在app_code 定义了user.cs类:其中作了跳转:Httpcontect.Current.Response.Redirect("/c/index.aspx&q ...

  6. [bzoj2743][HEOI2012]采花(树状数组)

    题目描述 萧薰儿是古国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花. 花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一排的,以便于 ...

  7. 洛谷2685 [TJOI2012]桥

    [TJOI2012]桥 题目大意:给定一无向图,求删除一条边后1到n最短路的最大值,以及方案数. 做法:我们先从1为起点.从n为起点跑两边dij,获得每一个点到起点1.终点n的最短距离,其实距离和边权 ...

  8. CF580C Kefa and Park dfs

    Kefa decided to celebrate his first big salary by going to the restaurant. He lives by an unusual pa ...

  9. 1. mybatis 的入门实例

    mybatis 的入门实例 1.创建一个普通的Java项目 1.加入jar包(所有mybatis 和mysql) 2.加入配置文件 src 目录下 (1) db.properties mysql.us ...

  10. Qt 学习之路 2(18):事件

    Home / Qt 学习之路 2 / Qt 学习之路 2(18):事件 Qt 学习之路 2(18):事件  豆子  2012年9月27日  Qt 学习之路 2  60条评论 事件(event)是由系统 ...