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把nullundefined0NaN和空字符串''视为false,其他值一概视为true,因此上述代码条件判断的结果是true

函数

1.函数的声明及调用

  

注意

  函数在创建时不必指定其返回值类型,任何函数在任何时候都可以通过return函数来返回

  

2.理解参数

  函数的所有参数都保存在arguments数组中。函数不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型。
  

3.没有重载

JavaScript:学习笔记(2)——基本概念与数据类型的更多相关文章

  1. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  2. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  3. JavaScript学习笔记[0]

    JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...

  4. Java程序猿的JavaScript学习笔记(1——理念)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  5. JavaScript:学习笔记(8)——对象扩展运算符

    JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...

  6. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

  7. opencv学习笔记(三)基本数据类型

    opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...

  8. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  9. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

随机推荐

  1. Python模块学习之fabric

    fabric是一个运维经常使用到的一个模块.但是我在python3环境下安装fabric就遇到了坑! 安装包名称是fabric3而不是fabric! pip install fabric3 利用fab ...

  2. 一起talk C栗子吧(第八十七回:C语言实例--使用管道进行进程间通信概述)

    各位看官们,大家好.上一回中咱们说的是进程间通信的样例.这一回咱们说的样例是:使用管道进行进程间通信. 闲话休提,言归正转. 让我们一起talk C栗子吧! 我们在前面的的章回中介绍了使用管道进行进程 ...

  3. 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的想 ...

  4. win7下怎么卸载jdk

    在安装了java jdk之后,会有两个程序,如果不仔细卸载的话,就少卸载一个而不能完全卸载,下面看看在win7下怎么卸载jdk. win7下怎么卸载jdk步骤:     第一步:点击“开始”,再点击“ ...

  5. Java NIO(1):迟迟登场的NIO

    Java NIO的出现 Java语言发展至今,优点大家有目共睹:面向对象的语言.简洁有效.高移植性等等.但是同样也存在很多缺点,C语言程序员口中Java太慢了,.net程序员口中Java太开放了,ph ...

  6. (转)Unity3D集成SVN进行版本控制

    首先,AssetServer确实很好用,Unity内部集成的管理界面,操作很简单,提交冲突的后还可以进行文件比对.但学习使用过程中,发现文件体积较大的项目文件目录(600M),我提交不上去,会返回没有 ...

  7. linux以下C 利用openssl的AES库加密,解密

    OpenSSL提供了AES加解密算法的API const char *AES_options(void); AES算法状态,是所有支持或者是部分支持. 返回值:"aes(full)" ...

  8. ios代码实现时间设置NSDate

    本文转载至 http://www.baidu.com/link?url=dcQWiL1FD_She6P4RM2IvEeJas0_gtG3LkRNTV5H87X0AyKCHvwYjBz2hdcB2JVp ...

  9. Eclipse 启动时闪退问题解决方案

    一.以前Eclipse都可以正常使用,突然有一天不能启动了,点击图标后启动画面一闪之后就消失了,以下是一些解决方案: 1. 找到Eclipse目录下的eclipse.exe,右键点击->发送到桌 ...

  10. lua(仿单继承)

    --lua仿单继承 Account = { balance = } function Account:new(o) o = o or {} setmetatable(o, self)--Account ...