《javascript高级程序设计》笔记(三)

一、语法

标示符:第一个字符必须是字母、下划线或美分符号。

不能把关键字、保留字、true、false、null作为标示符。

严格模式

"use strict"

二、关键字和保留字

break      delete function    return   typeof 
     case        do      if              switch  var

catch       else    in             this     void 
     continue   false  instanceof  throw while

debugger finally new           true   with 
     default     for    null            try

abstract  double    goto          native     static 
   boolean  enum      implements package  super

byte      export     import        private    synchronized

char      extends   int             protected throws

class     final         interface     public      transient 
   const    float        long           short       volatile

三、变量

不初始化会保存undefined值

用var定义的是局部变量

四、数据类型

typeof返回数据类型,unll会返回object,因为unll被认为是空的对象引用。

undefined

null   最好把将来用来保存对象的变量初始化为null

boolean

number    八进制0开始 十六进制0x

isFinite()函数  负无穷  Number.NEGATIVE_INFINITY    正无穷Number.POSITIVE_INFINITY

NaN            表示错误的数值,与自身也不相等

isNaN()函数:判断参数是否不是数值

数值转换      Number()  忽略字符串前导的0——"011"→"11" 十六进制转换成十进制  浮点保留

如果是对象,先用valueOf(),如果返回NaN,再调用toString()

parseInt()  忽略前导空格,第一个不是数字或负号就返回NaN,符合就一直解析直到遇到非数字或结束

ECMAScript5 070得到70 ,加上第二个参数作为基数

遇到小数点也会就停止

parseFloat() 遇到第一个小数点不停止

string        \\    \‘     \"

\n  换行  \t制表  \b退格  \r 回车  \f进纸

length属性

toString()方法  可以传递基数

String()方法   值是null、undefined,返回null、undefined

用+和""加起来可以转换为字符串

Object

五、操作符

++   --

+      -

~按位非  操作数的负值减1

&     |     ^按位异或

<<            >>有符号

<<<        >>>无符号

!   &&  ||

*          /     %

+   如果只有一个操作数是字符串,另一个操作数也转换为字符串  每个加法是独立执行的

-

>    <    >=   <=      大写字母的字符编号比小写字母小    toLowerCase方法比较

"23" < "3"  字符串比较的是第一个

==   !=                   先转换操作数

null与undefined相等

如果两个操作数都是对象,则比较它们是不是同一个对象。

===   !==               不转换

? :

=

,

六、语句

if

do while

while

for

for  in  枚举对象的属性

 for (var propName in window) {
             document.write(propName);
             document.write("<br />");
        }

每次循环将window对象中存在的一个属性名赋值给propName,顺序不可预测

label   添加标签,与循环语句配合

break  continue

 var num = 0;

        outermost:
        for (var i=0; i < 10; i++) {
             for (var j=0; j < 10; j++) {
                if (i == 5 && j == 5) {
                    break outermost;
                }
                num++;
            }
        }

        alert(num);    //55

with   将代码的作用域设置到一个特定的对象。

with(location){
            var qs = search.substring(1);
            var hostName = hostname;      //unavailable when viewing from a local file
            var url = href;
        }

每个变量被认为是局部变量,如果在局部环境找不到该变量的定义,就会查询location对象中是否有同名的属性。如果发现了同名属性,则以location对象属性的值作为变量的值。

switch   不发生类型转换

七、函数

arguments对象访问参数 可以和命名参数一起用

没有重载,定义了两个名称相同的函数,则该名字只属于后定义的函数。

时间: 2024-12-11 11:25:24

《javascript高级程序设计》笔记(三)的相关文章

《OC疯狂讲义》笔记(三)

1.类方法 1)什么是类方法 对象方法: -(返回值类型)方法名:(形参的类型) 形参名; 类方法 +(返回值类型)方法名:(形参的类型) 形参名; 2)类方法怎么去定义 +(返回值类型)方法名:(形参的类型) 形参名; 3)类方法的使用 调用: 对象方法:  [对象名    方法名:实参] 类方法:    [类名      方法名:实参] 4)使用类方法的好处 1)提高效率 2)减少内存空间占用 3)代码更加简洁 缺点:不能访问对象的成员变量 5)对象方法和类方法的对比 类方法        

《OC疯狂讲义》笔记(一)

1.OC简介 Objective-C    继承自C和smalltalk 最小程度增加了面向对象的部分,是一门面向对象编程语言 1986. Next 得到授权 关于 Cocoa 框架(96) Cocoachina.com code4app.com 2.OC HelloWorld OC的文件有哪几种? .h  头文件(声明类) .m  OC源文件(类的实现) #import <Foundation/Foundation.h>  //导入文件 //main函数是OC得主入口函数 int main(

《OC疯狂讲义》笔记(二)

1.NSString的使用 C的字符串保存:1)字符数组      2)字符串的指针 OC中又专门的字符串处理的类(有字符串类型) NSString  不可变的字符串 NSMutableString 可变字符串 NSString 是OC字符串的类 1) NSString保存字符串 NSString *str = @"abc";    //用str保存字符串常量 创建空字符串 NSString *str = [NSString new]; str = @"xxxx";

《OC疯狂讲义》笔记(四)

1.两个关键字:self 和 super self 可以用在对象和类方法中 1)self用在对象方法中:指代的时调用当前对象方法的那个对象 2)self用在类方法中:指代的时当前类(实质是类对象) 总结:当self在方法中使用,谁调用这个方法,self指代的就是谁 super: 使用super的地方,一定存在继承关系 super调用父类的方法 2.面向对象的其他特性:继承 继承概念: 假设有两个类:A   B 继承是两个类之间的关系 假设声明B类的时候, 1)导入父类的头文件 2)设定继承关系

《OC疯狂讲义》笔记(五)

1.OC中的点语法 点语法: 对象名.成员变量名   (点语法不是访问成员变量,而是方法的调用) 它是一个编译器特性 点语法作用:可以替换传统的get和set方法的调用 点语法的前提: 首先得先有 get和set方法 点语法实质: 调用get和set方法 如果点语法出现在 = 的左边,表示设置值,相当于调用了set方法 p.age = 10; 替换为:[p setAge:10]; 如果点语法出现在 = 的右边,表示获取值,相当于调用了get方法 int age = p.age; 替换为:int

李刚OC语言疯狂讲义笔记

设计一个”学生“类1> 属性* 姓名* 生日用结构体作为类的实例变量(生日) #import <Foundation/Foundation.h> //定义生日的结构体 typedef struct{ int year; int month; int day; }MyDate; @interface Person : NSObject { @public NSString *_name;//定义姓名 MyDate _birthday;//定义生日 } @end @implementatio

java疯狂讲义笔记整理(第二版第一部分)

第一章    java语言概述 1.1    java语言的发展简史 1990末:    sun公司“Green计划”(James Gosling领导)        ----目的是智能家电编写一个通用嵌入式控制系统,为此创建oak 1992夏天:    "Green计划"完成新平台的部分功能 1992年11月:    "Green计划"被转为"FirstPerson有限公司"-一个sun的全资子公司,致力于创建一个高度互动的设备 1994夏天:

java8--类加载机制与反射(java疯狂讲义3复习笔记)

本章重点介绍java.lang.reflect包下的接口和类 当程序使用某个类时,如果该类还没有被加载到内存中,那么系统会通过加载,连接,初始化三个步骤来对该类进行初始化. 类的加载时指将类的class文件读入内存,并为之创建一个java.lang.class对象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象.(几乎所有的类都是java.lang.Class的实例); 所以JVM最先初始化的总是java.long.Object类. 在java中,一个类用

疯狂java 讲义第三章练习题---画圆

public class PaintRound{ /** * @author Dream_e. * @version v1.0 */ private int r;//圆的半径 PaintRound(int r){ this.r = r; } public void paint(){ int y = 2*r;//y的最大值为半径的2倍 int x = 0; int c = 0; int z = 2;//坐标轴递减量. for(int j = y; j >= 0; j-=z){ x = getX(r

Ajax学习笔记(三)

三.jQuery库详解 1.使用jQuery之后,javascript操作的不再是HTML元素对应的DOM对象,而是包装DOM对象的jQuery对象.js通过调用jQuery对象的方法来改变它所包装的DOM对象的属性,从而实现动态更新HTML页面. 由此可见,使用jQuery动态更新HTML页面只需以下两个步骤: (1)获取jQuery对象.jQuery对象通常是DOM对象的包装 (2)调用jQuery对象的方法来改变自身.当jQuery对象被改变时,jQuery包装的DOM对象随之改变,HTM