js语法规范

.使用语法规范

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

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

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

② 代码大小敏感   ③ 结束符号④ 注释//  单行注释/*多行注释*/

⑤ 变量  气质可以发生改变的量就是变量  变量是内存中最小的单位

⑥ 数据类型

php(8)int 整型 float 浮点型  string 字符串型 boolean 布尔型 array 数组型  object 对象型  null 空型  resource 资源型

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

          (数组是对象的一部分)

typeof 判断变量的数据类型 typeof判断变量的数据类型

. Number数值数据类型

1. 各种进制数表示  2浮点数 3. 最大数、最小数 4无穷大的数

. 运算符

1. 算术运算符

+  -   *   /   %取余数()    ++  --

i++ : 先赋值、再++计算  

++i : ++计算,再赋值     i++++i在没有赋值情况下的运行结果都一致

i++++i在赋值情况下有区别

2.比较运算符

>    <    >=     <=     !=     ==

===全等于    !==不全等于

全等于===:比较值的类型数据大小

等于==: 比较值的数据大小

console.log(10==’10’);    //true

console.log(10===’10’);    //false

console.log(10===10);    //true

比较运算符的返回信息是boolean结果信息

3. 逻辑运算符

3.1 && 逻辑与

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

3.2 || 逻辑或

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

3.3 !逻辑取非

真即假,假即真

 

注意点:1)逻辑运算符最终结果

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

javascript里边,

&& || 是其中一个操作数(是最终影响结果的那个操作数)

!是布尔结果

2)短路运算

4. +加号运算符

两个意思:

① 算术+加法运算符(两边操作数都需要为是Number数值类型)

② 字符串连接运算符(只要有一个操作数为字符串就做连接运算)

只要有一个操作数为字符串就做连接运算

 

(php里边+加号只有加法运算使用.进行字符串连接运算)

 

    console.log(15+23);  //38

    console.log('32'+56);  //3256

    console.log('hello'+'beijing');  //hellobeijing

.流程控制

顺序结构  分支选择结构if   else if   else   switch  循环结构:while(){}  for()

1.条件表达式switch用法

switch(变量){

case  常量:

分支;break;

case  常量:

分支;break;

case  常量:

分支;break;

default:

分支;break;

}

if(score >=90 && score<100)

score = 95;

switch(){

case  条件判断表达式:

分支;break;

case  条件判断表达式:

分支;break;

case  条件判断表达式:

分支;break;

default:

分支;break;

}

2. 两个关键字breakcontinue

break:在循环switch里边有使用

       结束当前的本层循环,跳出switch的分支结构

continue:在循环里边使用

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

 

通过标志位设置,可以使得breakcontinue的作用效果发生改变。

for1

flag:

for2

cat:

for3

for4

break  flag/cat;   //flag/cat标志的循环给结束

continue  flag/cat; //结束flag/cat标志的当前循环,进入下次循环

break设置标志位使用案例:???

. 函数function

2.1 传统方式

function  函数名(){}

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

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

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

函数名();

function  函数名(){}

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

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

var  函数名 = function(){}

javascript里边,函数就是一个变量,数据类型是对象。

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

总结:

1. 数据类型:number  string  boolean  null  undefined    object

2. number数值类型:各种进制数的使用

各个位数的数字 *  进制数的(位数-1)次方 的算术和

浮点数

最大数、最小数

无穷大的数

3. 运算符(算术、比较、逻辑、+)

4. 流程控制(switch  break/continue)

5. 函数:两种声明

 

3. 函数的参数

function  函数名(name,agecity=beijing){}

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

3.1 实参和形参的对应关系

参数没有默认值情况下:

php里边:实参的个数小于形参,系统要报错

javascript里边:实参与形参个数没有严格的对应要求

 

3.2 关键字arguments

arguments

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

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

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

重载:同一个对象调用多次同一个方法,由于参数个数不同,调用得到的效果也不同

利用arguments实现方法重载效果

Arguments.length可以获得调用函数传递过来的实参个数,arguments[0]实参的信息

可以通过arguments[n]访问数组元素的样子,获得各个实参信息

4. callee关键字

callee关键字:

意思:在函数内部使用,代表当前函数的引用(名字)

作用:降低代码的耦合度

 

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

  在项目里边要开发低耦合度的代码(一处代码修改尽量少地引起其他代码的变化)

 

function f1(){

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

}

f1();

5. 函数返回值return

function 函数名称(){

函数执行体代码...

return  信息;

xxxxxx

}

console.log(函数名称());  //可以输出函数的return信息

var rst = 函数名称();     //可以使得return信息对变量进行赋值

 

 

一个函数执行完毕可以通过return关键字返回一定的信息,该信息可以直接输出、也可以进行变量赋值return本身还有结束函数的执行效果。

在一定意义上看,全部的数据类型(数值字符串布尔对象null)信息都可以返回(undefined类型无需返回,本身无意义)

 

javascript里边函数return除了可以返回基本类型的信息,其还可以返回function函数

 

javascript里边,一切都是对象

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

 

什么是值传递:

什么是值传递:

函数内部可以嵌套函数,并且嵌套的函数可以return返回:

6. 函数调用

6.1 传统方式函数调用

函数名();

6.2 匿名函数自调用

(function(){})();

特点:程序代码没有停顿,立即发生执行

好处:可以避免变量污染

7. 全局/局部变量

7.1 全局变量

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

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

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

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

 

php允许在函数内部声明全局变量:

javascript里边声明全局变量:

7.2 局部变量

在函数内部声明的变量

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

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

六.数组

2. 数组声明

Php中定义数组和给数组赋值:

$arr = array(); $arr[0]=cjy;

或者直接$arr[]= 22;

或者$http=array("www","helpphp","cn"); 

 

三种方式:

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

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

var arr = new Array();

arr[0] = 元素;

arr[1] = 元素;

注意:

A. javascript数组的下标都是数字

B. ①和②两种方式声明的数组,各个元素不能显示设置下标

C. ③方式给数组逐一丰富的每个元素必须要设置下标,数字字符串类型下标都可以

   数字下标就是数组部分

   字符串下标就是对象的成员属性

D. javascript中的数组本身是一个对象,内部有数组元素部分也有对象成员部分

三种方式声明数组:

 

 

3.获取数组长度

数组.length;    //获得数组元素个数和

length属性在数组里边是获得数组元素“最大数字下标”加1的信息。

 

 


4.数组遍历

沿着一定的顺序对数组内部的元素做一次且仅做一次访问,称作遍历。

for循环 遍历    //适合遍历下标是0/1/2/3..规则、连续的数组

for-in遍历       //数组、对象都可以遍历,并且数组的下标没有具体要求

 

两种方式遍历数组:

 

 

5. 数组常用方法

 

. 字符串

定义:通过(/)引号把键盘上用于显示的一些信息给括起来,就是一个字符串

var  name = tom;

var  addr  = beiji9828392^$^%$^%ng;

 

思考:在javascript里边,字符串为什么可以调用一些方法

(传统思维是只有对象可以调用方法)

 

字符串调用成员的原理:

 

八.神奇的eval

eval(参数字符串)

eval可以把内部参数字符串当成表达式,在上下文环境中运行

eval()经常用于把其他用户传递过来的字符串信息转变为javascript的实体(对象、数组等)信息。

eval(参数字符串)参数要求必须符合js语法规则

 

总结:

1. 函数使用(参数、arguments[.length]calleereturn返回值、函数调用)

2. 数组使用

a) 声明

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

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

var  arr = new Array()

arr[下标] = ;

b) 长度length

c) 遍历

for循环

for-in

d) 常用方法

push()  pop()  indexOf()  lastIndexOf()

3. 字符串使用

eval(参数字符串)语法结构

 

 


 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值