首先讲讲关于js文件放置的问题,如果把<script>放在head标签处,浏览器会先加载完该处的所有不使用defer属性的js文件再呈现页面的内容(浏览器在遇到body标签时才呈现内容),如果需要加载很多js文件的话,在呈现页面时会出现明显的延迟,延迟期间浏览器窗口将是一片空白。为了解决这一问题可以在最后才引入js文件,body标签结束之前。

  JavaScript的核心实现了ECAMScript定义的标准,ECAMScript定义了5种简单的数据类型:Undefined、Null、Boolean、String、Number,还有一种复杂数据类型Object。可用typeof操作符判断数据类型。

  1、Undefined类型:

  Undefined只有一个值,undefined,当使用var声明变量但未对其进行初始化时默认会给该变量初始化,这个值就是undefined。

  2、Null是第二种只有一个特殊值得数据类型null。

  3、Boolean类型:关于boolean类型需要注意以下这些类型转换成boolean类型时是true还是false。

数据类型    转换为true的值    转化为false的值

Boolean    true          false

String     非空字符串       ""(空字符串)

Number    任何非零数值      0和NaN(Not a Number)

Object      任何非空对象      Null

Undefined               undefined

  4、数值类型:

  4.1 关于浮点数值的计算,因为是基于IEEE754,所以可能会存在误差。所以不能把两个浮点数相加等于某值用作if的条件表达式。

1 if(a + b == 0.3){
2 alert("hehe");
3 }

  如果a、b分别等于0.1和0.2,则这个alert语句不会执行,因为这个a+b = 0.3000000000001......

  4.2 isNaN():(Not a Number)只要是数字或者能够转换成数字都会返回false。

  4.3 数值的转化,有三个方法Number()、parseInt()、parseFloat().

  Number()较复杂不常用,在处理整数时常用的是parseInt()。parseInt方法在将字符串转换成数字时,会忽略掉字符串前的空格,直到找到第一个非空字符串,如果不是数字或者负号,则会返回NaN,如果第一个是数字字符,则会继续解析第二个字符,直到解析完所有数字字符或者碰到非数字字符停止。parseInt提供了一个类似java的重载方法(javascript没有重载),第二个参数传入需要转化的进制,就可以将数值转换成相应进制的值。

1 var num1 = parseInt("1234blue");    //1234
2 var num2 = parseInt("1234blue123"); //1234
3 var num3 = parseInt("a1234blue123"); //NaN
4 var num4 = parseInt(""); //NaN
5 var num5 = parseInt(22.5); //22
6 var num = parseInt("AF", 16);

  parseFloat只解析十进制,没有提供解析成8进制等的类似java重载方法。

  5、String类型

  toString():转换成String类型的方法,数值、布尔值、对象、字符串都有toString方法,null和undefined没有

  String():   如果有toString方法则调用toString方法,没有,null 输出“null”  undefined 输出“undefined”。

  6、Object类型

JavaScript高级程序设计之数据类型的更多相关文章

  1. 读javascript高级程序设计00-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  2. 《JavaScript高级程序设计》读书笔记--前言

    起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...

  3. 阅读摘录《javascript 高级程序设计》01

    前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了 ...

  4. 《JavaScript高级程序设计》学习笔记(3)——变量、作用域和内存问题

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第四章内容. 1.函数:通过函数可以封装 ...

  5. 1 《JavaScript高级程序设计》学习笔记(1)

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 首先,我将从<JavaScript高级程序设计>这本JavaScript学习者必看的经典教 ...

  6. javascript高级程序设计阅读笔记(一)

    javascript高级程序设计阅读笔记(一) 工作之余开发些web应用作为兴趣,在交互方面需要掌握javascript和css.HTML5等技术,因此读书笔记是必要的. javascript简介 J ...

  7. 《JavaScript高级程序设计》学习笔记

    系统学习JS, 从<JavaScript高级程序设计>入门,通过学习jQuery或者angularJS源码来进阶. 第1章 JavaScript简介 1.JS问世的目的是处理以前由服务器端 ...

  8. JavaScript 高级程序设计 目录

    为什么会写这个学习教程呢??因为一直以来,学习JavaScript都没有系统的学过,用什么学什么,所以今天开始,重新把JavaScript系统的学一遍!(本人也是菜鸟一枚,语文水平也还是小学程度,看得 ...

  9. 读书时间《JavaScript高级程序设计》一:基础篇

    第一次看了<JavaScript高级程序设计>第二版,那时见到手上的书,第一感觉真是好厚的一本书啊.现在再次回顾一下,看的是<JavaScript高级程序设计>第三版,并记录一 ...

随机推荐

  1. A beginner’s introduction to Deep Learning

    A beginner’s introduction to Deep Learning I am Samvita from the Business Team of HyperVerge. I join ...

  2. 关于java调用linux shell 的问题

    问题的提出: shell脚本要做离线的数据处理任务 java调用脚本,将这种处理任务封装成webservice 特点: shell处理单个时间长 每次要处理文件量大 这里目前只做调用分析: 原来的: ...

  3. ASP.NET登录控件延伸(个性化)

    既然由登录控件涉及到了Membership,那么就不得不提到用户个性化Profile对象.个性化允许为用户保存特定的个性化信息到数据库中,因此它不同于ASP.NET状态管理之处在于可以永久性保存这些信 ...

  4. 【转】Sublime text 3 中文文件名显示方框怎么解决

    引用自:http://www.zhihu.com/question/24029280 如图,中文文件名打开全是乱码,内容倒是装了converttoutf8没什么太大的问题. 这个是sublime te ...

  5. dedecms还原数据时要选对备份目录 不然会提示function文件出错

    小李子最近在学习dedecms,在网上下载了一个二次开发的系统,顺利安装后想要还原一下作者的备份数据,可一直没有成功,让ytkah查看一下什么情况.进到后台,点击还原,提示/e/class/funct ...

  6. 《暗黑世界GM管理后台系统》部署+功能说明文档

    http://www.9miao.com/product-10-1073.html <暗黑世界GM管理后台系统>部署+功能说明文档 <暗黑世界GM管理后台系统>部署+功能说明文 ...

  7. NodeJS介绍

    1.概述: Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的.可扩展的网络应用.Node.j ...

  8. SQL技术内幕-12 SQL优化方法论前言

    我推荐的一种使用自顶向下的优化论.这种方法,首先分析实例级的等待时间,在通过一系列步骤将其不断细化,知道找出系统中导致大量等待的进程/组件.一旦找出这些令人讨厌的进程,就可以集中优化他们了,一下是这种 ...

  9. 【poj3358】消因子+BSGS 或 消因子+欧拉定理 两种方法

    题意:给你一个分数,求它在二进制下的循环节的长度,还有第一个循环节从哪一位开始. For example, x = 1/10 = 0.0001100110011(00110011)w and 0001 ...

  10. GET和POST测试(支持需要登录的接口调用:高级功能->填写cookie)

    http://coolaf.com