JavaScript 笔记(一)

一.Javascript

1. 定义

基于事件和对象驱动,并具有安全性能的脚本语言。

2. 出现背景

上世纪90年代,在美国有出现,当时有上网的环境,并且有网站服务在运行。

注册服务

 

 

 

 

 

 

 

 

 

 

 

 

上图涉及的问题:

① 带宽非常浪费,往往由于一个项目部正确,其他项目被反复提交给服务器

② 用户体验不好,反复填写表单域信息,项目不正确,页面会刷新。

③ 用户等待时间比较长,带宽非常小,每次提交动作占用时间长。

 

针对以上问题,网景公司发明了javascript语言,最初用于在客户端对表单域项目进行验证。

3. 发明javascript语言的公司

网景公司在1995年发布了javascript语言,起初名字为livescript,在发布的前夕该名字为javascript,sun公司的java语言打一个擦边球,这个决定也使得网景后期得到许多商业回报。

微软公司也有自己的脚本语言,名字为Jscript(是javascript的拷贝版本)

 

. 使用语法规范

① 在html代码里边引入js语言

<script  type=text/javascript>具体js代码</script>

<script  type=text/javascript src=js文件></script>

② 代码大小敏感

true/false

TRUE/FALSE

③ 结束符号

   每个简单语使用;结束,与php类似

   javascript里边,该分号不是必须,但是推荐使用

④ 注释

//  单行注释

/*多行注释*/

⑤ 变量

其值可以发生改变的量就是变量。

变量名字命名规则

php里边:字母数字下划线组成,开始有$符号标志,数字不能作为开始内容

js里边:字母数字下划线$符号汉字 5个组成部分,数字不能作为名字的开始内容。

 

⑥ 数据类型

phpint  float  string  boolean  array  object  null   resource

javascript(6):  number(int/float)  string   boolean   null   undefined   object

          (数组是对象的一部分)

 

null类型:空对象类型。

var name = “”;//声明一个变量,后期要使用一个“字符串”进行赋值

var age = 0;//声明一个变量,后期要使用一个“数字”进行赋值

var obj = null;  //声明一个变量,后期要使用一个“对象”进行赋值

 

undefined未定义类型

使用一个没有声明的变量

 

object对象类型:window  document

. 数值数据类型

1.各种进制数表示

      十进制:  var  age = 23;

      八进制:  var  score = 023;  2*8+3=19的十进制数

      十六进制:  var  color = 0x25;  2*16+5=37的十进制数

10:A   11:B   12:C  13:D  14:E   15:F

 

2. 浮点数

 

2. 最大数、最小数

最大:Number.MAX_VALUE;

最小:Number.MIN_VALUE;

 

 

4. 无穷大的数

 

. 运算符

1. 算术运算符

 

2. 比较运算符

 

3. 逻辑运算符

3.1 && 逻辑与

两边结果都为真,结果为真

3.2 || 逻辑或

两边结果只要有一个为真,结果为真

3.3 !逻辑取非

真既假,假既真

 

注意点:

1)逻辑运算符最终结果

php里边,最终结果是“布尔”结果

javascript里边,&&||是其中一个操作数,!是布尔结果

 

2)短路运算

只给执行一个操作数,不执行另一个操作数,不被执行的操作数就被短路。

 

 


. 流程控制

顺序结构

分支选择结构:if  elseif  switch

循环结构:while()   do{}while()   for()

1. 条件表达式switch用法

switch(){

case  表达式:

分支;

case  表达式:

分支;

}

 


2. 两个关键字breakcontinue

break:在循环、switch里边有使用

       跳出当前的本层循环

continue:在循环里边使用

   跳出本次循环,进入下次循环

 

多个循环嵌套使用:

标志flag

for1

red:

for2

for3

break/continue;  //for3给跳出 / 跳出本次的for3

//break  3;//php语法

break flag;   //continue flag;   把标志对应的for循环给做跳出操作

break red;    //continue red;

 

 

. 函数

1. 什么是函数

有一定功能代码体的集合。

2. 函数的封装

2.1 传统方式

function  函数名(){}

该方式的函数有“预加载”过程,允许我们先调用函数、再声明函数

预加载:代码先把函数的声明放入内存。代码开起来是先调用、后声明,本质是先声明、后调用的。

函数名();

function  函数名(){}

 

函数先调用、后声明的条件是,全部代码在一个<script>标记里边。

 

 


2.2 变量赋值方式声明函数(匿名函数使用)

var  函数名 = function(){}

该方式没有“预加载”,必须先声明、后调用。

 

3. 函数的参数

function  函数名(形参1,形参2,形参3=abc){}

函数名(tom,23,beijing);//传递实参信息

 

3.1 实参和形参的对应关系

没有默认值情况:

php里边:实参的个数小于形参是不允许的

javascript里边:实参与形参没有严格的对应关系

 

 


总结:

1. 数据类型:Number   String  Boolean   Null  Undefined   Object

console.log(typeof  信息);   判断信息的数据类型

2. 运算符

算术、比较、逻辑、连接

3. 流程控制

switch

break/continue

4. 函数

封装

参数

3.2 关键字arguments

function  函数名(){}  //函数声明没有形参

函数名(实参,实参);  //调用的时候有传递实参

利用arguments可以在函数里边接收实参信息。

 

 

 

 

4. callee关键字

意思:在函数内部使用,代表当前函数的引用。

function f1(){

xxxx具体执行代码

arguments.callee();   //调用本函数(或者f1()

//都可以使得本函数执行,我们选择callee,其可以降低代码的耦合度

xxxx执行代码

}

f1();

耦合:一处代码的修改会导致其他代码也要发生改变。

  在程序项目里边要开发低耦合度的代码。

 

 

5. 函数返回值

一个函数执行完毕需要返回具体的信息,使用return关键字返回信息。

在一定层度上看,全部的数据类型(数值、字符串、布尔、对象、null)信息都可以返回

return本身还可以结束函数的执行。

 

在函数内部返回一个函数出来。

javascript里边,一切都是对象

在一个函数内部,可以声明数值、字符串、布尔、对象等局部变量信息,言外之意就还可以声明函数(函数内部还要嵌套函数),因为函数是对象,并且函数可以被return给返回出来。

 

 

 

6. 函数调用

6.1 传统方式函数调用

函数名();

6.2 匿名函数自调用

(function(){})();

7. 全局/局部变量

7.1 全局变量

php里边:① 函数外部声明的变量。

  ② 在函数内部也可以声明全局变量(函数调用之后起作用)

  funciton f1(){

global  $title;

$title = javascript;

  }

  f1();

              echo  $title;

 

javascript里边:① 在函数外部声明的变量

              ② 函数内部不使用“var”声明的变量(函数调用之后起作用)

7.2 局部变量

php里边:在函数内部声明的变量

javascript里边:在函数内部声明的变量,变量前边有”var“关键字。

六. 数组

1.什么是数组

有许多变量,它们的名称数据类型都是一致的。

 

2. 数组声明

var arr = [元素,元素,元素。。。];

var arr = new Array(元素,元素,元素。。。);

var arr = new Array(3);

arr[0] = 元素;

arr[1] = 元素;

 

 

 

 

3. 获取数组长度

数组.length;

 

 

4. 数组遍历

沿着一定的顺序对数组内部的元素做一次切仅做一次访问,就是遍历。

for循环 遍历

for-in遍历

 

5. 数组常用方法

 

. 字符串

javascript里边,字符串可以调用一些成员。

 

八. 神奇的eval用法

 

 

 

总结:

1. 函数

关键字:arguments/callee

返回值:return关键字

               全部类型信息都可以返回

   内部嵌套的函数也可以返回(对象赋值有体现)

函数调用:

传统方式

匿名函数自调用

(function(){})();

全局变量、局部变量

2. 数组使用

声明:3种方式

长度:length

遍历:for   for-in

3. 字符串

字符串可以调用成员

4. eval语句

 

预习:DOM操作、事件操作

 

posted @ 2017-06-20 14:15  风起来时  阅读(188)  评论(0编辑  收藏  举报