1、兼容xhtml方法:

<script>
//<![CDATA[
...
...
//]]>
</script>

2、文档模式:

IE5.5引入,最初包含2种:混杂和标准模式;后IE又提出了准标准模式;文档开始未声明文档类型,浏览器默认会开启混杂模式。

3、noscript标签用以提示浏览器不支持脚本。

4、语法:

  4-1、区分大小写:ECMAScript中的一切都是区分大小写的(如变量、函数名、操作符...)。

  4-2、标识符:

    第一个字符必须是字母、下划线或美元符($);

    其余字符可以是字符、下划线、美元符或数字;

    (注:标识符的字母也可以包含扩展的ASCII或Unicode字母字符)

  4-3、注释:单行和多行(//或/**/).

  4-4、严格模式:ECMAScript5中引入了严格模式的概念,通过在代码块的顶端加入 "use strict" 来启动严格模式。

  4-5、语句:其由分好结尾,但可省略,则其由解释器确定语句结尾。(注:个人理解加分号是一种好的编程习惯)

5、变量:ECMAScript的变量是松散类型的,可以保存任何类型的数据。(使用 var 定义申明变量)。

  注意:用 var 定义的变量将是其作用域中的局部变量

     不使用 var 定义的变量将会是全局变量(但不推荐这样做),但在严格模式下,这样定义变量会报错(ReferenceError);

6、数据类型:

  5种基本类型(Undefined,Null,Boolean,Number,String)和一个Object(对象)类型。

  可以使用typeof初步检测数据类型。

Object.prototype.toString.call(null);   // [object Null]
typeof null; //object

  6-1、Undefined类型:

    其只有一个值,即undefined,定义未初始化的变量就是这个值。

    使用typeof检测 未定义的变量定义但未初始化的变量 时,其结果都为undefined,但使用未定义的变量会报错。

  6-2、Null类型:

    其也只有一个值,即null,从逻辑角度看,其值的表示是一个空指针(这正是typeof检测其实object的原因)。

    实际上undefined值是派生自null值,所以

console.log(undefined == null);    //true
console.log(undefined === null); //false

  6-3、Boolean类型:

    其值有2个:true和false(区分大小写);

    可以使用Boolean()来转换其他类型的数据为Boolean的值,对应关系如:

类型            转换为true          转换为false
Boolean true false
String 任何非空字符串 空字符串
Number 任何非零数字值 0或NaN
Object 任何对象 null
Undefined undefined

  6-4、Number类型:

    其使用IEEE754格式来表示;数字字面量格式:十进制、八进制(第一位必须是零,在严格模式下无效)、十六进制(前2位必须是0x(零));

    6-4.1、浮点数:

      其小数点前可以没整数,但小数点后必须有;

      其最高精确度是17位小数,所以其计算会有舍入误差,如:

console.log(0.1+0.2==0.3);  //false 

    6-4.2、数值范围:

      最大值(Number.MAX_VALUE)和最小值(Number.MIN_VALUE);正无穷(Infinity)和负无穷(-Infinity);

      可以使用  isFinite()  函数检测数值是否是有穷的,返回true表示介于最小和最大之间;

    6-4.3、NaN:

      即非数值(not a number)是一个特殊的数值;其包含2个特点:任何涉及NaN的操作返回都是NaN和其与任何(包括自己)不相等 console.log(NaN==NaN); //false ;

    6-4.3、数值转换:

      有3个方法:Number()、parseInt()和parseFloat();第一个适合任何类型,后面2个转换字符串类型;

Number的规则:
  、Boolean类型的:true -> ;false -> ;
  、null -> ;
  、undefined -> NaN;
  、字符串类型的:
  只包含数字(包括正负号),转换为十进制数(会忽略前导零);
  有效浮点格式(会忽略前导零);
  有效十六进制格式(如0xf);
  空字符串 -> ;
  另外的都是 NaN;
  、对象的先valueOf,如果为NaN再使用toString;
parseInt()和parseFloat()则是尽可能的将字符串转化为数值(会忽略字符串前面的空格,直到找到第一个非空格字符);
parseInt()在ECMAScript3和5中对八进制字面量的解析会有分歧
var num = parseInt("070"); //3中认为其是八进制,转换为十进制就是56,5中则是0(八进制0的前导无效)
(注:parseFloat()会忽略前导零)
为此parseInt()提供第二个参数指定转换时的基数。

  6-5、String类型:

    其由零或多个16位Unicode字符组成;

    其还包含了特殊的字符字面量,也叫转义字符;

    特点,其是不可变的;

    类型转换:toString()和String();

javascript第二遍基础学习笔记(一)的更多相关文章

  1. javascript第二遍基础学习笔记(二)

    一.操作符 1.一元操作符: 自加自减(分前置和后置2种):++.-- 区别:前置的先自加或自减,后进行计算:而后置的是先进行计算,后自加或自减(在其会产生负面影响时才能体现区别): ; i++; / ...

  2. 《零基础学JavaScript(全彩版)》学习笔记

    <零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...

  3. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

  4. C#RabbitMQ基础学习笔记

    RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...

  5. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

  6. Oracle基础学习笔记

    Oracle基础学习笔记 最近找到一份实习工作,有点头疼的是,有阶段性考核,这...,实际想想看,大学期间只学过数据库原理,并没有针对某一数据库管理系统而系统的学习,这正好是一个机会,于是乎用了三天时 ...

  7. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  8. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  9. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)

    技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...

随机推荐

  1. URI URL

    http://www.cnblogs.com/ACFLOOD/p/5533022.html

  2. Android AlertDialog 设置setSingleChoiceItems不显示列表的原因【setMessage和setSingleChoiceItems不能同时使用】

    今日写了个如题目的简单功能,结果列表不显示 无奈重写了一次代码发现setMessage和setSingleChoiceItems不能同时使用. 正确的如下: private void mobilePh ...

  3. Eclipse内存溢出问题

    我们经常遇到eclipse内存溢出问题,实际上只需要修改eclipse程序目录下的eclipse.ini文件, -Xms40m -Xmx1000m -XX:MaxPermSize=256m

  4. VOL.2 IE6,7,8(windows vista/7 x86/x64 )单文件版三连发,欢迎大家分享

    在上期 VOL.1 利用vmware ThinApp 制作非XP下可以运行的IE6 [无插件版](windows vista/7/8  x86/x64 )中,简要介绍了如何利用vmware Thina ...

  5. StringBuffer跟StringBuilder以及HashMap跟HashTable

    StringBuffer是线程安全的 HashTable是线程安全的,但HashMao单线程程序中的性能比HashTable要高,对了HashTable用(add),HashMap用的(put)

  6. 获得服务器硬件信息(CPUID、硬盘号、主板序列号、IP地址等)

    1 // 注意:首先要在项目中添加引用 System.Management using System; using System.Collections.Generic; using System.L ...

  7. android 中在CMD中查看sqlite

    今天第一次学习Sqlite,在代码中执行了sql,但是不知道在上面地方才能直观的查看sqlite中的数据,下面是查看资料后的找到的查看方法: 通过上述可以从cmd进入数据库查看原文地址:http:// ...

  8. SecurityException:Not allowed to start service Intent ,without permission not exported from

    本来是学长以前的项目,我正在重做一遍.结果突然出现了异常,我很是不解啊,怎么莫名其妙的就出现异常了呢?我昨天用还是好好的,根本就没动过源代码.于是在网上开始了一遍又一遍的查询,有的说要加权限.有的说这 ...

  9. ios Objective-C的动态特性

    这是一篇译文,原文在此,上一篇文章就是受这篇文章启发,这次干脆都翻译过来. 过去的几年中涌现了大量的Objective-C开发者.有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语 ...

  10. C#基础整理

    元旦整理书架发现一本小册子——<C#精髓>中国出版社2001年出版的,粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容(话说这本书是我在旧书店花5块钱淘的)我保留原有章节 ...