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. 第八章 springboot + mybatis + 多数据源2(解决循环引用)

    解决了循环引用 1.application.properties #the first datasource jdbc.names:1,2 jdbc1.driverClassName = com.my ...

  2. c#的bug?

    在群里面有人提出了这么一个诡异的问题,请问15.5%3.1=? 然后,我就去看了看,因为他们说结果是3.1!!!

  3. ORA-06519: 检测到活动的自治事务处理,已经回退

    写了一个函数,由于在定义时加入了 create or replace function F_计算结果(In_参数 varchar2) return number is --使用自治事务PRAGMA A ...

  4. Chai.js断言库API中文文档【转载】

    基于chai.js官方API文档翻译.仅列出BDD风格的expect/should API.TDD风格的Assert API由于不打算使用,暂时不放,后续可能会更新. BDD expect和shoul ...

  5. 使用.NET Reflector 查看Unity引擎里面的DLL文件

    转载标注来源哦! 原地址在这里!在这里. 当你查看unity里面API的时候.是不是有时候追踪了一两步就碰到DLL文件走不下去了呢?非常是不爽吧. 这样的问题我也是常常碰到.这是人家商业引擎不想让你看 ...

  6. c++中sin,cos,arcsin等和在C/C++中使用pi (π) 值

    先 #include<math.h> 反3角函数有 acos(double),asin(double),atan(double),atan(double,double),返回值 doubl ...

  7. Dmidecode

    一.Dmidecode简介 DMI (Desktop Management Interface, DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行 ...

  8. 性能百万/s:腾讯轻量级全局流控方案详解【转自Wetest】

    阿里用的方案是在nginx中配置限流(限流功能模块是自己开发的),流量统计线上是有监控打通的,具体的限流值是通过线上流量表现+线下性能测试(模拟线上场景)测试得出的. 全新的全局流控实现方案,既解决了 ...

  9. SQL.Cookbook 读书笔记5 元数据查询

    第五章 元数据查询 查询数据库本身信息 表结构 索引等 5.1 查询test库下的所有表信息 MYSQL SELECT * from information_schema.`TABLES` WHERE ...

  10. php 工厂方法模式

    #使用工厂方法模式是不知道要创建类的对象有哪些.interface IFactory{ public function CreateOperation();#工厂方法模式只有单个产品 } class ...