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.什么是变量? 变量的概念 内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量 ...
随机推荐
- MVC5中的路由
[Route("dazhao/{id}")] [Route("xixi/index")] [Route("xiaohan")] public ...
- c# dictionary,list排序
Dictionary Key排序 Dictionary<string, string> dct= new Dictionary<string, string>(); Dicti ...
- Winform 数据库连接配置界面
一.添加引用 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Microsoft.Data.ConnectionUI.Dial ...
- NHibernate NHibernate使用时误区
NHibernate使用时误区 一.异常: 出现org.hibernate.StaleStateException: Unexpected row count: 0 expected: 1异常的原因: ...
- java泛型与object的比较
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下 ...
- 常用SQL语句及在node中使用MySQL
摘要:一些重要的SQL命令 SELECT - 从数据库中提取数据 UPDATE - 更新数据库中的数据 DELETE - 从数据库中删除数据 INSERT INTO - 向数据库中插入新数据 CREA ...
- vuejs API总结
vuejs总结: vm指new Vue获取的实例 (1)当dom标签里的值和data里的值绑定后,更改data对应的值可以实时更新标签里的值: 但后续添加的值是无效的(绑定失败). (2)将可以将对象 ...
- Hystrix线程隔离技术解析-线程池(转)
认识Hystrix Hystrix是Netflix开源的一款容错框架,包含常用的容错方法:线程隔离.信号量隔离.降级策略.熔断技术. 在高并发访问下,系统所依赖的服务的稳定性对系统的影响非常大,依赖有 ...
- tomcat8性能优化
在tomcat/catalina.sh中加入下面的配置,内存要根据机器实际情况配置,如果配置内存太大了有可能机器很慢. JAVA_OPTS="-server -Xms512m -Xmx512 ...
- jmeter+Jenkins性能测试自动化搭建
一.安装java.ant.maven 1.官网下载tar.gz包 2.解压相应的tar包 3.配置/etc/profile路径 4.source /etc/profile 使配置生效. 二.安装Jen ...