JavaScript:学习笔记(2)——基本概念与数据类型
JavaScript:学习笔记(2)——基本概念与数据类型
语法
1.区分大小写.Test 和 test 是完全不同的两个变量。
2.语句最好以分号结束,也就是说不以分号结束也可以.
变量
1.JS的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据.
2.定义局部变量:
3.定义全局变量:
说明:此处定义全局变量并没有声明var,因而message成了全局变量。这样,只要调用过一次test()函数,这个变量就有了定义,可以在函数外部的任何地方被访问到。
4.定义多个变量:
var a=1,b=false,c='3'
数据类型
1.五种基本数据类型及一种复杂数据类型:
2.typeof操作符:
注意:
typeof是一个操作符而不是函数,不需要加().
3.Undefined
4.Null类型
Null类型是第二个只有一个值的数据类型,其值为null。第一个为Undefined。
null值表示一个空指针对象。
5.Boolean类型
说明:
该类型只有两个字面值:true和false,这两个值与数字值无关,false不一定等于0,true不一定等于1.
在JS中所有类型的值都有与这两个Boolean值等价的值。调用Boolean()可以将一个值转换成其对应的Boolean值。如:
流控制语句自动执行Boolean()转换:
6.Number类型
注意:
浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。浮点数值计算会产生舍入误差,这点无法改变。
数值范围:
ECMAScript 能够表示的最小数值保存在 Number.MIN_VALUE 中——在大多数浏览器中,这个值是 5e-324;能够表示的最大数值保存在Number.MAX_VALUE 中——在大多数浏览器中,这个值是 1.7976931348623157e+308。如果某次计算的结果得到了一个超出 JavaScript 数值范围的值,那么这个数值将被自动转换成特殊的 Infinity 值。
数值转换:
☐ Number():可用于任何数据类型。
☐ parseInt():专门用于把字符串转换为整数。
☐ parseFloat():专门用于把字符串转换为浮点数。
7.String类型
字符串用单引号和双引号表示都是可以的,一些特殊字符的表示如下:
我们可以使用String(XXX),将其他类型转换为字符串。
8.Object类型
【理解】
对象其实就是一组数据和功能的集合,创建 Object 类型的实例并为其添加属性和(或)方法,就可以创建自定义对象。
var o = new Object(); //()可以省略,但是不建议这样操作!
比较运算符
相等运算符
第一种是==
比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是===
比较,它不会自动转换数据类型,如果数据类型不一致,返回false
,如果一致,再比较。
说明:由于JavaScript这个设计缺陷,不要使用
==
比较,始终坚持使用===
比较。另一个例外是NaN
这个特殊的Number与所有其他值都不相等,包括它自己:NaN === NaN; // false只能通过isNaN()来判断。
语句
1.for-in语句:
2.With语句:
3.条件判断
var s = null;
if (s.length) { // 条件计算结果为false
//
}
说明:JavaScript把
null
、undefined
、0
、NaN
和空字符串''
视为false
,其他值一概视为true
,因此上述代码条件判断的结果是true
。
函数
1.函数的声明及调用
注意:
函数在创建时不必指定其返回值类型,任何函数在任何时候都可以通过return函数来返回。
2.理解参数
函数的所有参数都保存在arguments数组中。函数不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型。
3.没有重载
JavaScript:学习笔记(2)——基本概念与数据类型的更多相关文章
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
- JavaScript学习笔记[0]
JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...
- Java程序猿的JavaScript学习笔记(1——理念)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- JavaScript:学习笔记(8)——对象扩展运算符
JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
- opencv学习笔记(三)基本数据类型
opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
随机推荐
- Python模块学习之fabric
fabric是一个运维经常使用到的一个模块.但是我在python3环境下安装fabric就遇到了坑! 安装包名称是fabric3而不是fabric! pip install fabric3 利用fab ...
- 一起talk C栗子吧(第八十七回:C语言实例--使用管道进行进程间通信概述)
各位看官们,大家好.上一回中咱们说的是进程间通信的样例.这一回咱们说的样例是:使用管道进行进程间通信. 闲话休提,言归正转. 让我们一起talk C栗子吧! 我们在前面的的章回中介绍了使用管道进行进程 ...
- UVA 1363 Joseph's Problem 找规律+推导 给定n,k;求k%[1,n]的和。
/** 题目:Joseph's Problem 链接:https://vjudge.net/problem/UVA-1363 题意:给定n,k;求k%[1,n]的和. 思路: 没想出来,看了lrj的想 ...
- win7下怎么卸载jdk
在安装了java jdk之后,会有两个程序,如果不仔细卸载的话,就少卸载一个而不能完全卸载,下面看看在win7下怎么卸载jdk. win7下怎么卸载jdk步骤: 第一步:点击“开始”,再点击“ ...
- Java NIO(1):迟迟登场的NIO
Java NIO的出现 Java语言发展至今,优点大家有目共睹:面向对象的语言.简洁有效.高移植性等等.但是同样也存在很多缺点,C语言程序员口中Java太慢了,.net程序员口中Java太开放了,ph ...
- (转)Unity3D集成SVN进行版本控制
首先,AssetServer确实很好用,Unity内部集成的管理界面,操作很简单,提交冲突的后还可以进行文件比对.但学习使用过程中,发现文件体积较大的项目文件目录(600M),我提交不上去,会返回没有 ...
- linux以下C 利用openssl的AES库加密,解密
OpenSSL提供了AES加解密算法的API const char *AES_options(void); AES算法状态,是所有支持或者是部分支持. 返回值:"aes(full)" ...
- ios代码实现时间设置NSDate
本文转载至 http://www.baidu.com/link?url=dcQWiL1FD_She6P4RM2IvEeJas0_gtG3LkRNTV5H87X0AyKCHvwYjBz2hdcB2JVp ...
- Eclipse 启动时闪退问题解决方案
一.以前Eclipse都可以正常使用,突然有一天不能启动了,点击图标后启动画面一闪之后就消失了,以下是一些解决方案: 1. 找到Eclipse目录下的eclipse.exe,右键点击->发送到桌 ...
- lua(仿单继承)
--lua仿单继承 Account = { balance = } function Account:new(o) o = o or {} setmetatable(o, self)--Account ...