javascript基础语法备忘录-变量和数据类型
//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基础语法备忘录-变量和数据类型的更多相关文章
- 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式
本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式
- python基础语法(变量与数据类型)
python基础语法(变量与数据类型) 一.python变量 python中的变量不需要声明.每个变量在使用钱都需要赋值,变量赋值以后,该变量才会被创建 在python中,变量就是变量,它没有类型,我 ...
- scala基础语法(变量,数据类型,函数)
一:常量与变量 1.常量 2.两种变量定义方式(严格与不严格) 3.Float注意点 3.注意点 变量名后加上: 类型首字母是大写 4.占位符_ 但是需要制定类型 5.scala数据类型 6.其他类型 ...
- 学习 JavaScript (三)核心概念:语法、变量、数据类型
JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,这篇文章主要讲解的是前面三个,后面三个下一篇文章再讲解. 01 语法 熟悉 JavaScript 历史的人应该都知道 ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- javascript基础语法——词法结构
× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...
- Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制
Unit04: JavaScript 概述 . JavaScript 基础语法 . 流程控制 my.js function f3() { alert("唐胜伟"); } demo1 ...
- javascript基础语法——表达式
× 目录 [1]原始表达式 [2]复杂表达式 前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascr ...
- Java基础语法(2)-变量
title: Java基础语法(2)-变量 blog: CSDN data: Java学习路线及视频 1.什么是变量? 变量的概念 内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量 ...
随机推荐
- [转]VisualSVN错误 Cannot query proxy blanket解决办法
最近重新做了一下系统,在安装和使用svn过程中遇到了一些问题,记下备忘. 第一次安装好系统之后,安装VisualSVN遇到报错: Custom action InstallWMISchemaExcut ...
- 浅谈UBUNTU
一 UBUNTU介绍 Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的"ubuntu"一词,意思是"人性".& ...
- CentOS6.5上Zabbix3.0的RPM安装【一】-安装并配置Server
一.Environment OS:CentOS6.5 64bit [桌面版安装] Server端:192.168.201.109 ServerName Clinet端:192.168.201.199 ...
- Spring中的事务控制
Spring中事务控制的API介绍 PlatformTransactionManager 此接口是spring的事务管理器,它里面提供了我们常用的操作事务的方法 我们在开发中都是使用它的实现类: 真正 ...
- vue原理实现
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python 模拟简单区块链
首先这是说明一下这是Tiny熊老师的教程https://www.cnblogs.com/tinyxiong 另外还要说明一下,暑假指导老师让我们做一些关于区块链的应用.这里只是涉及极其简单的模拟,主要 ...
- 10.17(山东多校联合模拟赛 day1)
山东多校联合模拟赛 day1 题不难 rect [问题描述] 给出圆周上的 N 个点, 请你计算出以这些点中的任意四个为四个角,能构成多少个矩形. 点的坐标是这样描述的, 给定一个数组 v[1..N] ...
- 数据结构4:顺序表(线性表的顺序存储结构)及C语言实现
逻辑结构上呈线性分布的数据元素在实际的物理存储结构中也同样相互之间紧挨着,这种存储结构称为线性表的顺序存储结构. 也就是说,逻辑上具有线性关系的数据按照前后的次序全部存储在一整块连续的内存空间中,之间 ...
- getTasksWithCompletionHandler的用法
最近在学习iOS的NSSession的后台下载,使用getTasksWithCompletionHandler获取下载任务时候,发现一些问题,希望分享一下: 第一次写博客有点乱,大家不要见怪-- NS ...
- jquery发送请求
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...