Javascript

定义一个变量:var x=3; 或者 x=3;

判断一个数据的类型:

var x= 9;

var c ='d';

alert(typeof(x)=="number");

alert(typeof(c)=="char");

//结果为true

五种基本数据类型

- typeof 4; //null

- typeof 'string'; //String

- typeof null; //object

- typeof []; //object

- typeof e //undefined

- typeof true //boolean

- typeof (function(){}) //function

所以javascript有5种基本数据类型:number,string ,undefined,boolean和function

特殊数据类型:

转义字符:


转义字符

说明

转义字符

说明

\b

退格

\v

跳格(Tab)

\n

回车换行

\r

换行

\t

Tab符号

\\

反斜杠

\f

换页

\OOO

八进制整数,范围为000~777

\'

单引号

\xHH

十六进制整数,范围00~FF

\”

双引号

\uhhhh

十六进制编码的Unicode字符

未定义值:

未定义的变量的值为undefined,表示变量还没有赋值,或者赋予一个不存在的属性值。但是还有其他特殊类型的数字常量NaN,,就是当程序由于某种原因发生计算错误后产生的一个没有意义的值,那么这个时候javascript就返回一个NaN值。

空值:

其中有一个关键字null是一个特殊的值,表示为空值。其中null与undefined的区别的是:null表示一个变量被赋予了一个空值。而undefined表示该变量尚未被赋值。

typeof运算符:typeof运算符表示返回他的操作数的当前所容纳数的类型,这对于判断一个变量是否已被定义有很大用处。

new运算符:通过new运算符来创建一个新的对象。

new constructor[(argument)]

二:String 对象提供了一个转换为小写的方法:

toLowerCase();

- var a='AFFS';

- var b=a.toLowerCase();

document.write(b); // 结果为:affs

三,if......else

<!doctype html>

<html lang="en">

<head>

<meta http-equiv="content-http" content="text/html" charset="UTF-8">

<title>Document</title>

<script type="text/javascript">

function countdown(title,Intime,divId){

var online=new Date(Intime);

var now = new Date();

var leave = online.getTime()-now.getTime();

var day = Math.floor((leave/1000/60/60/24))+1;

if(day>1){

divId.innerHTML="<b>---距"+title+"还有"+day+"天!</b>";

}

else if(day==1){

divId.innerHTML="<b>-------tomorrow is "+title+"啦!</b>";

}

else if(day==0){

divId.innerHTML="<b>-------today is "+title+"啦!</b>";

}

else{

divId.innerHTML="<b>-------Uh!"+title+"has been gonne!</b>";

}

}

</script>

</head>

<body>

<table width="350" height="450" border="0" align="center" cellspacing="0" cellpadding="0">

<tr>

<td>

<table width="350" height="418" border="0" cellspacing="0" cellpadding="0" >

<tr>

<td width="76"></td>

<td width="270">

<div id="countDown">

<b>-------</b>

</div>

<script type="text/javascript">

countdown("2017圣诞节","12/25/2017",countDown);

</script>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>

//.innerHTML表示在哪个标签里嵌入html标签。

四、

函数的简单的响应:

- <!doctype html>

- <html lang="en">

- <head>

- <meta http-equiv="content-type" content="text/html" charset="UTF-8">

- <title>Document</title>

- <script type="text/javascript">

- function functionName(string){

- alert(string);

- }

- </script>

- </head>

- <body>

- <script type="text/javascript">

- functionName("intersting!");

- </script>

- </body>

- </html>


在事件响应里调用函数:通过点击按钮触发来调用函数

- <!doctype html>

- <html lang="en">

- <head>

- <meta http-equiv="content-type" content="text/html" charset="UTF-8">

- <title>Document</title>

- <script type="text/javascript">

- function functionName(string){

- alert(string);

- }

- </script>

- </head>

- <body>

- <form name="form" method="post" action="">

- <input type="submit" value="提交" />

- </form>

- </body>

- </html>

通过链接来调用函数

- <!doctype html>

- <html lang="en">

- <head>

- <meta http-equiv="content-type" content="text/html" charset="UTF-8">

- <title>Document</title>

- <script type="text/javascript">

- function functionName(){

- var string ="intersting!";

- alert(string);

- }

- </script>

- </head>

- <body>

- <a href="javascript:functionName();" >this is a test</a>

- </body>

- </html>

函数返回值的使用

- <!doctype html>

- <html lang="en">

- <head>

- <meta http-equiv="content-type" content="text/html" charset="UTF-8">

- <title>Document</title>

- <script type="text/javascript">

- function functionName(num1,num2,num3){

- document.write("running numbers ..........</br>");

- var num = parseInt(avg(num1,num2,num3)); //parseInt表示取整数部分

- document.write("The avger result of caculate number is "+num);

- }


- function avg(num1,num2,num3){

- return (num1+num2+num3)/3;

- }

- </script>

- </head>

- <body>

- <script type="text/javascript">

- functionName(52,12,30);

- </script>

- </body>

- </html>

javascript的一些Math函数


1.丢弃小数部分,保留整数部分

parseInt(5/2)

2.向上取整,有小数就整数部分加1

Math.ceil(5/2)

3,四舍五入.

Math.round(5/2)

4,向下取整

Math.floor(5/2)

Math 对象的方法

FF: Firefox, N: Netscape, IE: Internet Explorer

方法 描述 FF N IE

abs(x) 返回数的绝对值 1 2 3

acos(x) 返回数的反余弦值 1 2 3

asin(x) 返回数的反正弦值 1 2 3

atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3

atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3

ceil(x) 对一个数进行上舍入。 1 2 3

cos(x) 返回数的余弦 1 2 3

exp(x) 返回 e 的指数。 1 2 3

floor(x) 对一个数进行下舍入。 1 2 3

log(x) 返回数的自然对数(底为e) 1 2 3

max(x,y) 返回 x 和 y 中的最高值 1 2 3

min(x,y) 返回 x 和 y 中的最低值 1 2 3

pow(x,y) 返回 x 的 y 次幂 1 2 3

random() 返回 0 ~ 1 之间的随机数 1 2 3

round(x) 把一个数四舍五入为最接近的整数 1 2 3

sin(x) 返回数的正弦 1 2 3

sqrt(x) 返回数的平方根 1 2 3

tan(x) 返回一个角的正切 1 2 3

toSource() 代表对象的源代码 1 4 -

valueOf() 返回一个 Math 对象的原始值

嵌套函数的应用

- <script type="text/javascript">

- var outter =10;

- function add(num1,num2){

- function inneradd(){

- alert("参数的和为:"+(num1+num2+outter));

- }

- return inneradd(); //返回嵌套函数的值

- }

- </script>

<script type="text/javascript">

add(10,20);

</script>

递归函数

<!doctype html>

<html lang="en">

<head>

<meta http-equiv="content-type" content="text/html" charset="UTF-8">

<title>Document</title>

<script type="text/javascript">

function f(num){

if(num==1){

return num;

}

else{

return f(num-1)*num;

}

}

</script>

</head>

<body>

<script type="text/javascript">

document.write("10的阶乘为:"+f(10));

</script>

</body>

</html>

JavaScript的内置函数

函数

说明

eval()

求字符串中表达式的值

isFinite()

判断一个值是否为无穷大

isNaN()

判断一个值是否是NaN

parseInt()

将字符串转换为整型

parseFloat()

将字符串转换为浮点型

encodeURI()

将字符串转换为有效的URL地址

encodeURIComponent()

将字符串转换为有效的URL组件

decodeURI()

对encodeURI编码的文本进行解码

decodeURIComponent()

对encodeURIComponent()编码的文本进行解码


Keycode对照表

字母和数字键的键码值(keyCode)按键键码按键键码按键键码按键键码A65J74S83149B66K75T84250C67L76U85351D68M77V86452E69N78W87553F70O79X88654G71P80Y89755H72Q81Z90856I73R82048957

  


数字键盘上的键的键码值(keyCode)功能键键码值(keyCode)按键键码按键键码按键键码按键键码0968104F1112F71181979105F2113F8119298*106F3114F9120399+107F4115F101214100Enter108F5116F111225101-109F6117F121236102.110



7103/111



  


控制键键码值(keyCode)按键键码按键键码按键键码按键键码BackSpace8Esc27Right Arrow39-_189Tab9Spacebar32Dw Arrow40.>190Clear12Page Up33Insert45/?191Enter13Page Down34Delete46`~192Shift16End35Num Lock144[{219Control17Home36;:186\|220Alt18Left Arrow37=+187]}221Cape Lock20Up Arrow38,<188'"222


多媒体键码值(keyCode)按键键码





音量加175





音量减174





停止179





静音173





浏览器172





邮件180





搜索170






五、Javascript内部对象

object对象的属性:

1).prototype:该属性返回对象类型的引用。

<script type="text/javascript">

function array_max(){

var i,max =this[0];

for (i =1;i<this.length;i++){

if(max<this[i]){

max=this[i];

}

}

return max;

}

Array.prototype.max=array_max;

var x = new Array(1,2,3,9,5,6);

var y = x.max();

document.write(y);

</script>

2).constructor属性:

x= new String("HI");

if(x.constructor==String){

//处理函数体

}

function MyFunc(){

//函数体

}

y = new MyFunc;

if(y.constructor==MyFunc){

//处理体

}

Object对象的方法

toLocaleString():该方法返回一个日期,该日期使用当前区域设置并已被转换为字符串。

dateObj.toLocaleString(); //dateObj表示使用一个日期类型对象

<script type="text/javascript">

document.write(new Date().toLocaleString());

</script>

String 对象

创建一个String 对象

var newstr = new String(String text);


比如:

var newstr = new String("hello world");

String对象的属性:

length:

- var newstr = new String("hello world");

- document.write(newstr.length);


prototype属性:

StringObj.prototype.name =value;

- <script type="text/javascript">

- function personnal(name,age){

- this.name=name;

- this.age=age;

- }

- var information = new personnal("张三",25);

- personnal.prototype.salay = null;

- information.salay=3000;

- document.write("年龄为"+information.age+"的"+information.name+"的薪水为"+information.salay);

</script>

未完待续.....................

可加本人印象笔记账号:1468359547@qq.com