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) | |||||||
按键 | 键码 | 按键 | 键码 | 按键 | 键码 | 按键 | 键码 |
A | 65 | J | 74 | S | 83 | 1 | 49 |
B | 66 | K | 75 | T | 84 | 2 | 50 |
C | 67 | L | 76 | U | 85 | 3 | 51 |
D | 68 | M | 77 | V | 86 | 4 | 52 |
E | 69 | N | 78 | W | 87 | 5 | 53 |
F | 70 | O | 79 | X | 88 | 6 | 54 |
G | 71 | P | 80 | Y | 89 | 7 | 55 |
H | 72 | Q | 81 | Z | 90 | 8 | 56 |
I | 73 | R | 82 | 0 | 48 | 9 | 57 |
数字键盘上的键的键码值(keyCode) | 功能键键码值(keyCode) | ||||||
按键 | 键码 | 按键 | 键码 | 按键 | 键码 | 按键 | 键码 |
0 | 96 | 8 | 104 | F1 | 112 | F7 | 118 |
1 | 97 | 9 | 105 | F2 | 113 | F8 | 119 |
2 | 98 | * | 106 | F3 | 114 | F9 | 120 |
3 | 99 | + | 107 | F4 | 115 | F10 | 121 |
4 | 100 | Enter | 108 | F5 | 116 | F11 | 122 |
5 | 101 | - | 109 | F6 | 117 | F12 | 123 |
6 | 102 | . | 110 | ||||
7 | 103 | / | 111 |
控制键键码值(keyCode) | |||||||
按键 | 键码 | 按键 | 键码 | 按键 | 键码 | 按键 | 键码 |
BackSpace | 8 | Esc | 27 | Right Arrow | 39 | -_ | 189 |
Tab | 9 | Spacebar | 32 | Dw Arrow | 40 | .> | 190 |
Clear | 12 | Page Up | 33 | Insert | 45 | /? | 191 |
Enter | 13 | Page Down | 34 | Delete | 46 | `~ | 192 |
Shift | 16 | End | 35 | Num Lock | 144 | [{ | 219 |
Control | 17 | Home | 36 | ;: | 186 | \| | 220 |
Alt | 18 | Left Arrow | 37 | =+ | 187 | ]} | 221 |
Cape Lock | 20 | Up Arrow | 38 | ,< | 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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。