js 小结1

来源:互联网 发布:dnf银月技能数据 编辑:程序博客网 时间:2024/05/29 17:04

js 技术用在什么地方?

1. 地图搜索

2. 网页游戏

3. 对用户输入校验(email ,数字,身份证,ip...)

4. 股市网站..

核心一句话;js可以对网页的元素进行编程控制 . button input , image ...

,实现动态效果.

==============================================================================

u js的基本介绍

① js是一种脚本语句,不能独立运行,它往往和配合别的语言使用比如(html/php/jsp/asp/asp.net).

② js 有自己的函数(系统函数,自定义函数), 变量有编程的控制语句(顺序,分支,循环), 但是相对说它的语法规范不是特别严格.

③ js是解释执行语言

4js可以对网页元素编程,可以改变网页某个元素的外观

5 js是用于bs开发.

6js是客户端技术,它运行在客户端的浏览器


js源码 ->直接被执行(js引擎[内嵌到浏览器])    myie 代码已经开源了

livescript -> (netscapesun 合作)->javascript [java 和 javascript 没有任何关系]

jscript 是微软的产品,但是它和 javascript 语法规范一致.

请注意因为浏览器的差异,可能有这样问题,在ie中运行正常的js脚本,在ff中运行不正常.[应当在不同的浏览器中去测试是否ok 浏览器兼容.] 解决这个问题的简单方法是尽量使用js通用的函数.


 如何理解js是事件驱动的脚本语言

事件发生(用户做某个操作)---[驱动]---->函数的调用

总结: 1. js码可以放在 html/php 页面的任何地方,js码是从上到下依次执行.

2. js的变量类型是由js引擎决定,如果要查看某个变量的类型,则可以使用typeof运算符

  //js变量的类型是由js引擎来决定的.var name="shunping";//可以通过 typeof 来查看window.alert("name的类型是"+ typeof  name);name=123;//可以通过 typeof 来查看window.alert("name的类型是"+ typeof name);


 js的标识符的规范

① 变量/函数 取名不要使用 js的保留关键字 同时变量名不要用数字开头.② js的变量是区分大小写的var a=90;var A=89;//如果一个方法是属于window 对象,则可以不带window.而直接使用alert(a);alert(A);如果你不小心,定义了两个同名的变量,则后面的覆盖的前面的变量.③ js的注释单行用 //                        多行用  /*    */



js的基本数据类型

① 整数

<script type="text/javascript">var n1=0x8a; var n2=0010123;var n3=1234;alert(n2);</script>

② 实数

实数就是小数,这个就不举例说明特殊的数值NaN = not a number  如果提示错误说明,你的js代码中把一个变量错误的当做一个数值来使用.Infinity = 无穷大  var s="abc";//parseInt() 函数是js的全局函数,可以直接使用//在哪里查询alert(parseInt(s));var r=7/0;alert(r);在js中提供了两个函数来判断是不是一个NaN  和 intinityisNaN(判断是不是一个数)      isIninity//正则表达式var s="000.000123";if(isNaN(s)){alert("不是数");}else{alert("是数");}
③ 布尔类型

布尔类型表示真和假

js中  表示 假有如下:

l false, 0, “”, null  , undefined、NaN

其它的表示真   代码:

var a=100;if(a){alert("真");}else{alert("假");}ajaxvar obj1=获取对象;if(!obj1){alert(“对象创建失败”);}

④ 字符型

字符串的基本用法:

var str=”aaaaaaa”;var str2=’aakflaskf;lsakf;lsa’;如果我们希望在字符串中有包含特殊字符,比如 ’ ” 换行。。。考虑使用转义符\, 用于转义的还有:字符串中的特殊字符,需要以反斜杠(\)后跟一个普通字符来表示,例如:\r、\n、\t、\b、\'、\ " 、\\xxx

 js的复合数据类型

① 数组

② 对象

js的特殊数据类型

① null 

② undefined 未定义

 数据类型的强制转换

js中提供了两个函数可以把字符串强制转成数 

parseInt  parseFloat

如果我把 123 当做字符串.

案例如下让用户输入两个数,并计算和.

var num1=window.prompt("请输入一个数");

var num2=window.prompt("请输第二个数");

var res=parseFloat(num1)+parseFloat(num2);//php  . 字符串拼接 表示运算

alert("结果是="+res);

var num3=123;

var str="hello"+num3;

alert(str);

 js的运算符

-、 %

除法

注意我们的js对除不尽的数,保留精度是17.可以自己想办法保留小数位数

1. 自己写函数

var num1=7;

var num2=3;

var res=num1/num2;

res=res+"";

//window.alert(typeof res);

//alert(res);//看出 小数保留精度是17.如果你要到第二位.

//res当做一个字符串,看找到小数点在第几位.

var index=res.indexOf(".");

window.alert("保留小数两位是"+res.substring(0,index+3));

2. 使用Number对象的方法

toFixed();

alert(res.toFixed(6));

3. 我们为了更好的管理js文件,可以把js文件 写在一个独立的文件中,然后再需要的使用引入即可

<script src=”js文件路径”></script>

4. ++ 和 – 运算

var a=56;

var b=a++;// b=a; a=a+1;

window.alert(b);

window.alert(a);

如果是  var b=++a; ==》 [a=a+1; var b=a;]

var b=a++; <==>  var b=a; a=a+1;

5. 关系运算符

>= <= > < !=  = = =  != =

6. 逻辑运算符

&& 

||  

var val=表达式1 && 表达式2;

说明只要 表达式1为真  并且 表达式2为真,结果为真.

说明如果第一个表达式为假,第二个表达式就不执行.[考点]

var num1=6;

var num2=5;

if(num1>num2&& (++num2)){

}

window.alert(num2);

var res=表达式1 || 表达式2

说明 表达式1为真,或者 表达式2为真,结果为真.

l 如果表达式1为真,第二个表达式就不执行.

 ! 

var res=!表达式;

如果表达式为真,结果为假,

如果表达式为假,结果为真.

关于 || 的特殊说明

var a=0||0||"a"||0;  

window.alert(a);

:  如果 || 有为真的值,就会返回第一个为真的值, 如果都为假,就返回最后的值.

 js的位运算和移位运算

按位与 (两位都是1,结果1)

按位或 (只要有一个为1,结果1)

按位异或 (一个为1,一个为0,结果1)

var res=4&5; ==>

补码 

00000000 00000100

00000000 00000101

00000000 00000100

>> 右移运算 

<< 左移运算

>>> 无符号右移运算.

5>>2

00000000 00000101

00000000 00000001

window.alert(-5>>>2);

5的补码

00000000 00000101

-5的补码

5原码->5的反码->5的补码

原码 10000000 00000000 00000000 00000101

 反码 11111111 11111111 11111111 11111010

补码  11111111 11111111 11111111 11111011

      1001111111 11111111 11111111 111110 ->补码->原码

js的流程控制

① 顺序控制

② 分支控制

2.1 单分支

基本用法

if(条件表达式){

//为真,进入

}

var age=34;

if(age>18){

//提示,在页面上输出一句话

document.write("age>18");

}

2.2双分支

基本用法

if(条件表达式..){

//如果真.

}else {

//如果假..

}

var age=34;

if(age>18){

document.write("对自己行为负责");

}else{

document.write("放过你");

}

2.3 多分支

if(条件表达式){

}else if(条件表达式2){

}else if(条件表达式){

}

else{

}

说明: 1. else if 可以有多个.

2. else 语句可有可无.

3. 多分支语句只能有一个入口。

代码:

var age=12;

if(age>18){

document.write(">18");                                         document.write 是为何

}else if(age>10 && age<=18){

document.write("送入少管所");

}else {

document.write("下次注意");

}

多分支的switch

基本用法是

switch(表达式){

case 常量/变量 :

       //语句

break;

case 常量/变量 :

    //语句

  break;

defulat :

//语句

}

注意swtich相当灵活.

1. 表达式的结果 类型可以是 string , number, boolane ,对象.. array.

2. case 后面可以是常量,可以是变量.

3. 如果case后没有break,那么当程序执行某个case块,时,就会一直执行,直到碰到一个break语句,才会跳出switch

4. defual语句可以放在swith任何位置,当一个条件都匹配不到,就会执行default,直到碰到一个break语句,或者switch执行完毕.

5. switch 和 if else if 的区别如果是针对几个固定条件的判断,则使用switch ,如果范围的判断,我们使用 if ....else if....

/*

请编写一个程序,可以接

收一个字符串,比如

: a,b,c,d,e,f,g  

a表示星期一,b表示星期

二 …  根据用户的输入显

示相依的信息.要求使用 

switch 语句完成

*///string,number,boolean, 对象,array//var str=1; //true->1 2  (1,2->true)//var obj=new Object();//var obj2=obj;var arr1=new Array("1","2");var arr2=arr1;switch(arr1){case arr2:document.write("星期一,猴子穿新衣"); break;case false:document.write("星期二,猴子当小二"); break;default:document.write("猴子休息...");break;}



原创粉丝点击