JavaScript基础

来源:互联网 发布:r语言与数据挖掘 pdf 编辑:程序博客网 时间:2024/06/03 19:40


一、Javascript概述。


1,JavaScript是什么?


Javascript是Netscape公司开发的一种基于对象和事件驱动的脚本语言。


脚本语言:可以定义变量,写条件结构和循环结构等代码,无须编译,解释运行。是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。

基于对象:提供了一些对象让我们去使用,这些内置对象的定义无须关心。它不是面向对象,不具备面向对象的全部特征。(JS正在朝着面向对象的方向发展,但是目前js里面说继承,多态,封装的都是模拟)。

事件驱动:每一段JS代码都是由指定的事件调用执行的。

它是弱类型语言,由浏览器来解释运行。


2,JavaScript特点:
2.1:交互性。(它可以做的就是信息的动态交互)
2.2:跨平台。(只要是可以解释Js的浏览器都可以执行,和平台无关)
2.3:安全性。(不允许直接访问本地硬盘)


3,JavaScript作用:

提高与用户的交互性,并且可以在客户浏览器端做一些校验。


4,JavaScript由来:


nombas公司在1992年的时候开发了一套基于c语言的脚本语言 c--。
网景公司开发了一套脚本语言——LiveScript (javascript前身)
网景和sun公司合作,更名为javascript
微软推出了一套JScript来与javascript竞争
1997年ECMA出面协调,由netscape,sun,microsoft,borland公司组成工作组指定了统一的标准ECMA-262





二、JavaScript语言组成。


1,javascript核心语法:ECMA CORE


2,浏览器对象模型 BOM Browser Object Model


3,文档对象模型 DOM Document Object Model






三、HTML和JavaScript的三种结合方法。


第一种:直接写在事件中。


  例:
  <input type="button" value"第一种结合方法" onclick="javascript:alert('这是一个警告弹窗信息') />


注意事项:当直接写javascript脚本不被认识时,要在前面加一个 javascript:
附:onclick:点击事件 alert(): 弹框 


第二种:使用script标签,在script标签体内写javascript脚本。


  例:
  <script type="text/javascript">
function 方法名(){
执行事件。
}
  </script>


注意事项:
1.<script>可以写在网页的地方
2.一般写在<head>部分
3.除非咱们要网页的body部分打印输出时,才把它放在body部分
4.请不要使用language="javascript",使用type属性




第三种:使用script标签,使用它的scr属性引入外部的js文件。


  例:
  <script src="js文件地址" type="text/javascript"> </script>


注意事项:
 script的标签在引入外部js文件的时候,也必须有一个独立的结束标签。
 当script标签引入了独立的js文件,在标签体内写的任何脚本代码都不会执行。




四、JavaScript的基本语法。


1,注释:
单行注释:// 被注释内容
多行注释:/* 被注释内容 */


2,变量的声明:
在javascript中声明变量的关键字是:var
例:
var 变量名 = 10;
var 变量名 = 3.14;
var 变量名 = "string";
var 变量名 = true;
var 变量名 = null;
我们在声明变量的时候,没有类型的概念。变量的类型是由数据的类型决定的。
由于其是弱类型语言,不写var也可以,行结尾不写分号也可以。但是建议写上。


3,变量的类型:


javascript中有5个基本数据类型。分别为:


Undefined、Null、Boolean、Number 和 String 


1.Undefined
1.变量定义了,但是没有赋值
2.通过typeof()测试,结果也是undefined
2.Null
1.通过alert()直接输出,得到一个null结果
2.通过typeof()测试,它的结果是一个Object
3.Boolean
看赋值为true/false
非0都为真
0都为假
4.Number
不区分整数与小数都认为是number
5.String
用“”引号引上的
未定义直接拿变量用,这样使用是语法错
var s="1"//定义了一个基本类型的字符串
var s = new String("1");//定义了一个String对象
基本类型为什么能调方法?
s.toString();//说明了javascript是弱数据类型,它底层已经做了转化






4,类型的转换:


1,当数字和字符串做加法运算时,是字符串拼接。


2,当数字和字符串做减法、乘法、除法运算时,是数学运算。当其中一个不是数字的时候,返回的是NaN. Not a Number


5,运算符:


1,数学运算符:+ - * /


2,逻辑运算符:&&左右两侧条件都城里 ||左右两侧条件任意一个城里 !取反


3,比较运算符:== 比较的是变量的值, === 比较的是变量的值和数据类型


4,三元运算符:var v = 0?10:20;


在javascript中6种为假的情况:


NaN、0、''、null、undefined、false


6,结构化语句:


1,if语句:
if(true){


}


2,switch语句:
switch(j){
case "a":
break;
default:
}


3,for语句:
for(var x = 0; x<=9; x++{


}


4,while语句:
wihle(true){}


5,do while语句:
do{}while(true)




五、JavaScript中的方法定义。


定义方法有三种方式:

第一种:语法
function 方法名(参数){
方法体
可以有返回值
}
调用:方法名(参数);


第二种:语法
var 方法名 = function(参数){
方法体
可以有返回值
}



第三种:语法
前面都是参数,函数体是最后一个参数
var 方法名 = new Function("参数1","参数2"..."参数n","方法体"); (用的很少)



六、JavaScript的全局函数。


isNaN:检查参数是否是一个数字,如果不是数字的话,返回:true,是数字的话,返回:false。


parseInt和parseFloat:
  parseInt:当解析的是整数时,返回整数。当可以解析的是浮点数,返回的是整数部分。当不能不解析出数字时,返回NaN。
  parseFloat:当解析的是整数时,返回整数,当解析的是浮点数时返回浮点数,当不能解析出整数或浮点数时,返回NaN。


eval:计算javascript字符串,并当作脚本语言来执行。


escape和unescape:
  escape:对字符串进行编码。编码范围:中文、特殊字符等进行编码。英文、数字等不会编码。
  unescape:对escape编码后的代码进行解码。


encodeURL和decodeURL:
  encodeURL:是对有中文或特殊字符的RUL进行编码。
  decodeURL:是对由encodeURL编码的地址进行解码。



七、JavaScript的常用对象。


1,Array对象:数组对象,进行数组操作


第一种定义方式:var arr = new Array(10);
第二种定义方式:var arr = [1,2,3,4,5];
第三种定义方式:var arr = new Array(1,2,3,4,5);

特点:
数组的长度是可变的。
数组支持混合数据类型。

常用方法:
  1,join(分隔符):改变分隔符,按照指定的分隔符分割。
  2,pop():删除最后一个元素,并返回该元素。
  3,push(元素):在数组中加入新的元素,并返回新的长度。
  4,reverse():反转数组中的元素。
  5,sort():对数组进行排序。可以控制按照什么排序。如果没有参数,则按照字母的顺序排。


2,Date对象:用于处理日期和时间


1,日期对象的获取:
var date = new Date();


2,常用方法:


getDay():获取一周中的某一天。周一到周六是1~6,周日是0.


toLocaleDateString():获取日期。yyyy-MM-dd


toLocaleTimeString():获取当前时间。hh:mm:ss


toLocaleString():yyyy-MM-dd hh:mm:ss


random():返回一个伪随机数。


floor(数字):向下取整。


round():正数是四舍五入,负数是0~5是向上入,6~9向下舍。


3,Number对象:数字原始类型引用类型

常用方法:


toString(进制数):把Number对象转成String。可以使用参数,参数是要转成的进制数。


4,String对象:字符串类型的引用类型


subString(start,end):截取字符串。包头不包尾。


substr(start,length):截取字符串。从参数1的下标开始截取,截取参数2的长度。


split(分隔符):分割字符串。


5,Regexp:正则表达式对象


1,正则表达式的定义:


第一种:
var reg = new Regexp("[0-9]{11}");
var number = 1234567890;
if(reg.test(number)){
alert("是一个电话号码");
}else{
alert("不是一个电话号码");
}

第二种:
var reg = /^[0-9]{11}$/;








扩展:


1,URI和URL的区别:


   URI: Uniform Resource Identefier统一资源标识符
   URL: Uniform Resource lOCATOR 统一资源定位符


http://localhost:8080/myapp/1.html---> URL
协议 主机 端口   URI


/myapp/1.mtml---> URI



0 0