js1

本文详细介绍了JavaScript的基础知识,包括语法、数据类型、内置对象等内容。通过本文的学习,读者能够掌握JavaScript的基本使用方法。
<!--
网页:html构建,CSS美化
为网页添加功能:
页面的动态效果:输入的验证、页面元素的动态显示等-----Javascript语言,写在html页面上,由浏览器运行服务器的交互:数据交互----JSP、AJAX
JavaScript课程
JQuery:js封装好的类库
JQuery+AjAX


一、Javascript概述
网页编程技术,用来向HTML页面添加交互行为
JavaScript是一种网页编程技术,基于对象和事件驱动的解释性脚本语言
直接嵌入html语言
由浏览器解析执行,不进行预编绎


二、基础语法
1.调用:
<script language="javascript" src="js1.js"></script>
<script language="javascript" type="text/javascript">


</script>
2.
变量:大小写敏感

常量:直接在程序中出现的数据值 例alert("hello") hello用完即丢弃;
标识符:
由不以数字开头的字母、数字、下划线()、美元符号($)组成
常用于表示函数、变量等的名称;
保留关键字break for
变量:使用关键字var 声明变量,变量的类型以赋值为准(因为数据的存储是一样的)
例如:(1)var x=10;var y="marry";var z=true;
 (2)var x,y,z;x=10;y="hello";z=true;






数据类型 :
基本类型:
Number :不区分整型数值和浮点型数值,所有数据都采用64们浮点格式存储,类似于double格式,
十六进制前面加上0x,八进制前面加0
String :表示文本
首尾用单引号或双引号
转义字符\
Boolean
数据类型之间的转换
隐式转换:直接转--默认的规则,只要和字符串计算机全转化成字符串


var s="a";
var n=1;
var b1=true;
var b2=false;
alert(s+n);字符串
alert(s+b1);字符串
alert(n+b1);数据
alert(b1+b2);数值
显式转换:利用转换的方法,例:入键盘输入10,是一个String 要计算要调用一个转化方法。
toString();parseInt();parseFloat();isNaN()判断文本是否转换为数字
typeof()获得类型:var n=100; var n1="100";
alert(typeof(n));//number
alert(typeof(n1));//string



特殊类型:Null 空,Undefined 未定义


复杂类型


运算符 :==比较的是值(隐式的数据转化) ===比的是内容和类型
三元运算符:表达式?value:value;


流程控制:
条件 : if/else
switch/case
循环: for
while


三、常用内置对象:
1.javascript包含多种对象
--内置对象:基本的
--自定义对象
--浏览器对象
--HTML DOM对象
--Active 对象
2.内置对象


简单数据对象:String Number Boolean
组合对象:Date Math  Array
高级对象:Function、RegExp
3.String 对象
创建
var s="marry";
var s1=new String("mary");
属性
length
方法
toLowerCase/toUpperCase
indexOf/lastIndexOf
subString(start,end);
charAt(index)返回字符
charCodeAt(index)返回字符的Unicode编码
replace(old,new);
split()// a,b,c




注意:onblur事件:失去焦点事件


正则表达式:js中的正则表达式写在两个//中间的
\d:匹配一个数字
[a,z]a到z小写字母
{3,5}3到5个数字
在不同的语言环境下,执行或者使用正则表达式,实现文本的各种处理
例:String对象有几个方法可以结合正则表达式使用:replace()
match---得到匹配的结果
search---得到匹配的位置

匹配模式:
g----global
m----multilin
i----忽大小写
4.Array对象----一列多个数据
只有数组没有集合
方式一:var arr=["arry",10,true];


方式二:var arr=new Array("marry",10,true);


方式三:var arr=new Array()
arr[0]="marry";
arr[1]=10;
arr[2]=true;
数组的属性:length
数组的方法:
XXX.toString()---输出数组的内容
形如10,20,30
XXX.join("*")---10*20*20
xxx.concat:数组的连接
例如:
var a=[1,2,3];
var b=a.concat(4,5);
alert(a.toString());//1,2,3
alert(b.toString());//1,2,3,4,5
x.slice(start,end):获取子数组
例如:
start:起始位置
end:结束位置+1;
var arr1=['a','b','c','d','e'];
arr1.slice(2,4);//c,d;
xxx.reverse()--反转
xxx.sort()--排序
5.Math对象
方法:
Math.random()---0=<<1
得到3-9之间的一个整数【3,9)(Math.random()*6+3)


例如:[1,34)


var max=34;
var min=1;
var seed=Math.random();
var result=seed*(max-min)+min;
alert(Math.floor(result));
Math.floor(随机数=种子*(上限-下限)+下限)




Math.floor()---取整(地板)
Math.ceil()---取整(天花板)

6.Number对象
toString():转化成字符串
toFixed(param):数值转化成字符串,并保留小数后一定倍数。
例:购物车数据
7.正则表达式对象
一类:和String 对象的三个方法结合使用,实现对String的操作:--replace/match:返回个数/search


输入验证:邮编\d{6}


二类:正则表达式对象
var r=/\d{6}/;r是一个对象
r.test(string)--true/false;//适用于输入验证:邮编\d{6}
/^[\u4e00-\u9fa5]{3}$/:验证3个汉字
8.Date对象
创建对象
var d=new Date();//当前日期和时间
var d=new Date("2013/01/01 12:12:12");
方法:
getXXX
getDate/getMonth/getDay/getFullYear
setXXX
setDay/setDate
toXXX---得到字符串格式的表示,页面显示
toString()
toDateString()
toTimeString()
9.Function对象

function sum(num1,num2)
{
return num1+num2;
}
js中没有传统意思上的重载,如果方法名相同,执行最后定义的为准.
如果真要实现重载效果
使用arguments
代表当前方法被传入的所有参数,形成一个数组
方式一:使用function关键字明文的声明一个方法
function AA(a,b){alert(a+b)}


----最常用,用功能相关的方法


方式二:创建一个Function对象,最后一个参数是方法体,前面的其他参数是方法的参数
var f=new Function("a","b","alert(a+b)");
f(10,30);


-----需求:有些方法不需要显式的存在


例:实现数字排序
function testArr(){
var arr=[5,31,2,15];
var f=new Function("a","b","return(a-b)");
arr.sort(f);
alert(arr.toSting());
}


   -----缺陷:方法何不 能复杂
方式三:匿名方法
var arr=[5,31,2,15];
var f=function(a,b){
return a-b;
}
arr.sort(f);
alert(arr.toSting());


实际主要用第一种和第三种
10.全局函数
某个对象的方法
自定义的方法
全局函数:并非特定开某个对象 比如
paraseInt/parseFloat
isNaN
encodeURI();
decodeURI();

例如:
编码:
var str="http://tts.tarna,com,cn/index.htm?name=www";
var r1=encodeURI(str);
alert(r1);
解码:
var r2=decodeURI(r1);
alert(r2);
eval():把字符串中的数据进行计算,或者执行其中的代码。相当高级语言的反射
例如:
var s="1+2*3";
alert(s);
s=eval(s);
alert(s);
----需求,例如计算机123+4+5=
<form action="" method="post" >

<input type="text" id="textNum"/><br/>
<input type="button" value="1" onclick="caculate(1);"/>
<input type="button" value="2" onclick="caculate(2);"/>
<input type="button" value="3" onclick="caculate(3);"/><br/>
<input type="button" value="4" onclick="caculate(4);"/>
<input type="button" value="5" onclick="caculate(5);"/>
<input type="button" value="6" onclick="caculate(6);"/><br/>
<input type="button" value="+" onclick="caculate('+');"/>
<input type="button" value="-" onclick="caculate('-');"/>
<input type="button" value="=" onclick="caculate('=');"/>
</form>


function caculate(num)
{
var s=document.getElementById("textNum").value;
if(num=="=")
{

var s1=eval(s);
document.getElementById("textNum").value=s+num+s1;
}
else
{
document.getElementById("textNum").value+=num;
}


}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值