第三章  基本概念

区分大小写 ECMAScript中的一切(变量、函数名和操作符)都区分大小写

标识符 指变量、函数、属性的名字或者函数的参数 第一个字符必须是一个字母、下划线或美元符号,其它字符可以是字母、下划线、美元符号或数字,ECMAScript标识符采用驼峰大小写格式

//单行注释

/*

多行注释

*/

严格模式(strict mode) 是为JavaScript定义了一种不同的解析与执行模型,对不确定的行为添加处理方式,可以在顶部添加"use strict",也可以指定函数在严格模式下执行

function doSomething ()

{  "use strict";

  //函数体

}

JavaScript语句用分号;结尾

ECMA-262规定了保留字和关键字不能用做标识符

使用var操作符定义的变量将成为该变量作用域中的局部变量,变量在函数退出时会被销毁

省略var 将成为全局变量

定义多个变量

var message="hi",

  found=false,

  age=29;

ECMAScript中有5种简单数据类型(基本数据类型):Undefined、Null、Boolean、Number和String,还有一种复杂数据类型——Object,他的本质是由一组无序的名值对组成的

typeof操作符检测给定变量的数据类型

在使用var声明变量但未对其加以初始化时,这个变量的值默认就是undefined,

对未声明的变量只能进行一项操作,即使用typeof检测其数据类型,对其调用delete无意义

null表示一个空对象指针,如果一个变量将要用来保存对象,最好将此变量初始化为null

Boolean的两个字面量true和false区分大小写,True以及其他混合大小写的形式只是标识符,不是Boolean的值 转型函数Boolean()

八进制第一位是前导零(第一位是0,然后是八进制0~7)

十六进制前两位必须是x0后跟(0~9及A~F)

永远不要测试某个特定的浮点数值(小数)

Number.MAX_VALUE和Number.MIN_VALUE储存着ECMAScript能够表示的最大最小值

超出则为-Infinity(负无穷)Infinity(正无穷)

判断一个数是否有穷 isFinite()函数 ,返回布尔值

isNaN()确定是否为"非数(不能转化为数值)"

Number()可以用于任何数据类型

parseInt()只能用于字符串,从左往右进行转换,最好带上第二个参数(对前面转换字符的解释)

var num=parseInt("0xAF",16); //175

parseFloat()只能用于字符串,只解析十进制的浮点数

String类型(字符串类型)用''或""包围

string类型包含一些特殊的字符字面量也叫转义序列,用于表示非打印字符 \n换行 \t制表 \b空格 \r \f \\ \' \"等

如果字符串中包含双字节字符,length属性可能会不精确

字符串一旦创建,就不能改变,只能用其他字符串顶替

数值、布尔值、对象和字符串值都有一个toString()方法,在调用数值的toString()方法时可以传入一个参数作为,返回数值有效进制格式的字符串值

var num = 10;

alert(num.toString(2)); //"1010"

String(value)能将值value转换为字符串

ECMAScript中的对象就是一组数据和功能的集合,通过执行new操作符后跟要创建的对象类型名称来创建 var o =new Object ();

Object 的任何实例都拥有Object类型的方法

递增递减操作符,前置型后置型(操作变量之前or之后递增/递减)++1 --1 1++ 1--,会对非数值进行转换

一元加和减操作符 num=+num; num=-num同样对num进行类型转换

位操作符作用于最基本的层次上,按内存中表示数值的位来操作数值,位操作符先将64位的值转换成32位的整数,后执行操作,最后再将结果转换成64位的值

对有符号的整数,前31位用于表示整数的值,第32位用于表示数值的符号:0为正,1为负

十进制18

二进制10010

(2的4次方x1)+(2的3次方x0)+(2的2次方x0)+(2的1次方x1)+(2的0次方x0)

16+0+0+2+0

负数同样以二进制码存储,但使用的格式是二进制补码,要分三部分进行

1求这个数绝对值的二进制码

2求二进制反码,即将0替换为1,将1替换为0

3得到的反码加1

按位非(NOT)~ 执行按位非就是返回数值的反码,本质就是操作数的负号减去1

var num1=25;

var num2=~num1;

alert(num2); //-26

在对数值的底层操作速度会更快

按位与(AND)& 执行按位与就是将两个数值的每一位对齐,都为1时才返回1,任何一位是0结果都是0

按位或(OR) | 执行按位或就是至少有一个1返回1,两个都为0才返回0

按位异或(XOR)^ 仅仅只有一个1时才返回1,都是1或都是0则返回0

左移(<<)将原数值向左移动指定的位数 value<<6 用0填充空位,左移不会改变符号位

无符号右移(>>>)将数值的所有32位都向右移动,对正数来说无符号右移和有符号右移结果相同,对于负数来说相差非常大。

布尔操作符 逻辑非(!) 逻辑与(&&) 逻辑或(||)

乘性操作符 乘法(*) 除法(/) 求模(%)

加性操作符 加法(+) 减法(-)

关系操作符

相等操作符

条件操作符 var max = (num>num1) ? num: num1;

赋值操作符 =

逗号操作符 var num1=1,num2=2,num3=3

if(condition)

{

  statement1

};

else if(condition)

{

statement2

};

else

{

  statement3

};

------------------------------------------------------------------4.2任务告一段落-----------------------------------------------------------

JavaScript高级程序设计2.pdf的更多相关文章

  1. JavaScript高级程序设计61.pdf

    JSON对象 早期的JSON解析器就是使用JavaScript的eval()函数,ECMAScript5对解析JSON的行为做出了规定,定义了全局对象JSON. JSON对象有2个方法:stringi ...

  2. JavaScript高级程序设计60.pdf

    错误处理 try-catch语句 try{ //可能会导致错误的代码 }catch(error){ //在错误发生时如何处理 } error是一个包含着错误信息的对象,它有一个message属性,保存 ...

  3. JavaScript高级程序设计58.pdf

    15章 使用Canvas绘图 略 16章 HTML5脚本编程 HTML5规范了新的HTML标记和JavaScript API,以便简化创建动态Web界面的工作 跨文档消息传递 简称XDM,指来自不同域 ...

  4. JavaScript高级程序设计57.pdf

    表单序列化 首先了解一下浏览器如何将数据发送给服务器 对表单字段的名称和值进行URL编码,使用和号(&)分隔 不发送禁用的表单字段 只发送勾选的复选框和单选按钮 不发送type为“reset” ...

  5. JavaScript高级程序设计55.pdf

    输入模式 HTML5为文本字段新增了pattern属性,这个属性的值是一个正则表达式,用于匹配文本框中的值 例如,只想在允许在文本字段中输入数值 <input type="text&q ...

  6. JavaScript高级程序设计54.pdf

    过滤输入 对于一些浏览器,可以使用正则表达式里的text()测试用户按下的按键,Firefox和safari(3.1版本之前)会对向上向下.退格键和删除键触发keypress事件,在Firefox中, ...

  7. JavaScript高级程序设计53.pdf

    共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...

  8. JavaScript高级程序设计52.pdf

    表单脚本 表单的基础知识 在HTML中,表单是由<form>元素表示的,在Javascript对应的是HTMLFormElement类型,它继承自HTMLElement,因此具有与其他HT ...

  9. JavaScript高级程序设计50.pdf

    hashchange事件 HTML5新增了hashchange事件,以便在URL的参数列表(及URL中“#”号后面的所有字符串)发生变化时通知开发人员,之所以新增这个事件,是因为在Ajax应用中,开发 ...

  10. JavaScript高级程序设计49.pdf

    HTML5事件 contextmenu事件 contextmenu事件是冒泡的,可以将事件处理程序指定到document,这个事件的目标是用户操作的元素,在兼容DOM的浏览器中使用event.prev ...

随机推荐

  1. Android 点击事件,4种回调。

    1.  继承监听接口. 2.  xml方式 : 设置 android:onClick 3. 内部类 4. 匿名类 ------------------------------------------- ...

  2. cocos2dx系列笔记(2)- windows环境配置后续之 Android环境配置

    续上篇 对于想用cocos2dx来开发Android游戏的人来说,最痛苦的莫过于配置Android环境和之后的奇奇怪怪的编译失败问题.这是经历了多次成功与失败之后,血与泪的经验包,大家请收好.如果你有 ...

  3. ZOJ 1076 Gene Assembly(LIS+路径打印 贪心)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=76 题目大意:在一个DNA上,给定许多基因的起始位置和结束位置,求出这 ...

  4. 图像显示 imshow()[OpenCV 笔记5]

    void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...

  5. macbook pro retina 编程字体推荐

    使用VS2010.VS2012.Qt Creator编译工具首推等宽字体,等宽字体中consolas. 首先大家都知道等宽对于编码来说的直观性不言而喻,其次retina屏幕的特殊性,整天用特别小的字体 ...

  6. Java面向对象程序设计--接口和内部类

    1.接口的定义: In the Java programming language, an interface is not a class but          staff[0] =       ...

  7. 将requirejs进行到底(2)

    前一篇:JS模块化工具requirejs教程(一):初识requirejs 我们以非常简单的方式引入了requirejs,这一篇将讲述一下requirejs中的一些基本知识,包括API使用方式等. 基 ...

  8. Python转码问题

    在Python中,可以对String调用decode和encode方法来实现转码.   比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').e ...

  9. 关于移动div的具体实现(js)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. VC杂记

    获得Combobox的状态:向ComboBox发送CB_GETDROPPEDSTATE消息. 格式化字串:char buff[10] ; sprintf(buff,"1+1=%d" ...