第一章 JavaScript基础

1、什么是JavaScript?

HTML+CSS完成了静态页面的展示,但是想要完成更好更复杂的用户交互和数据交互及展示,就需要使用JavaScript。JavaScript是基于对象和事件驱动,并具有安全性能的脚本语言

2、JavaScript的特点

a.可以向HTML页面中添加交互行为

b.脚本语言,语法与java语法类似

c.解释性语言,边执行边解释

3、JavaScript的组成

a.ECMAScript  标准

b.DOM  Document  Object  Model    文档对象模型

c.BOM   Browser    Object  Model    浏览器对象模型

4、JavaScript的基本结构

html  <script>document.write("初识JavaScript");</script>  

5、执行原理

在浏览器客户端输入一个网址,这个页面是一个包含有JavaScript的HTML页面,发送到服务器,服务器接收并下载这个包含有JavaScript的HTML页面,然后返回给浏览器客户端

6、引入JavaScript的方式

a.内部

html<script></script>  

注:可以放在任意地方,前提是要确保这段js已加载

b.外部

html  <script src="js路径" type="text/javascript"></script> 

c.行内

html<input type="button" name="btn" value="弹框" onclick="javascript:alert('你好javascript')"/>  

7、什么是变量?

在内存中开辟空间保存数据

用var声明,var是用于声明变量的关键字,变量根据值确认变量类型

javascript  var width; width = 5; //先声明在赋值  
javascript  var width = 5;  //同时声明并赋值  
javascript  width = 5;  //不声明直接赋值,不推荐使用  

8、数据类型?

undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。

Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回 一个不存在的对象

number     不论整数还是浮点数,返回的都是number类型 

boolean     布尔类型,返回true或false

string       不论单个字符还是字符串,返回的都是string类型    var ss='s' 表示的还是string类型

object       对象

注意:跟java有区别

9、typeof()运算符

用来检测变量是什么数据类型

例:

javascript var a = 10;  var b = "Joy";  var x,y,z =10; var arr = new Array(3);  

javascript
typeof(a);         //number

typeof(b);         //string

typeof(x);         //undefined

typeof(z);         //number

typeof(null);      //object

typeof(arr);       //object

typeof(true);      //boolean

10、数组

数组是一个变量,开辟了一连串的空间存储一连串相同数据类型的数据

javascript
var arr = new Array(5);   //声明一个名为arr,长度为5的数组

var arr = ["aaa","bbb","ccc","ddd","eee"];  //给数组arr赋值

arr[0] = "aaa";      //取出数组中的第一个值

a.数组的属性

javascript  arr.length   //获取arr数组的长度  

b.数组的方法

javascript  arr.join()  //把数组元素放到字符串中,并用连字符连接起来    var arr = \["aaa","bbb","ccc"\];    var arrList = arr.join("-");    document.write(arrList);   //aaa-bbb-ccc    arr.sort()       //数组排序    arr.push()      //向arr数组添加一个元素  

11、运算符

javascript为了满足逻辑过程中的计算和比较等提供了丰富的运算符

| 运算符类型 |                            运算符                            |
| :--------: | :----------------------------------------------------------: |
| 算术运算符 |                   +  -  *  /  %   ++   --                    |
| 赋值运算符 |                          =  +=  -=                           |
| 比较运算符 | > <  >=  <=  ==  !=  ===(先判断类型再判断值)   !==(先判断类型再判断值) |
| 逻辑运算符 |                &&(并且)   \|\|(或者)  !(非)                 |

12.控制语句

a.条件句

javascript  if(条件){   //JavaScript代码  }else{   //JavaScript代码  }  //当满足if中的条件时,执行if块代码  //不满足条件时,执行else块代码  
  javascript  switch(表达式){   case 常量:   //JavaScript代码   break;   case 常量:   //JavaScript代码   break;   default:   //JavaScript代码   break;  }  //根据switch后的表达式去匹配在case后的的常量,匹配后执行当前case代码  //遇到break会跳出当前switch结构  //不写break的后果是下面的case不用匹配,直接执行  //default块是以上case块都没有匹配成功时执行的代码  

b.循环

javascript  for(初始值;条件;增量){     //JavaScript代码    }  //for循环由四部分组成一个常规循环,初始值是循环的初始状态,条件是循环的结束条件,增量是修改循环的初始状态  //当满足循环条件时,执行for循环内的代码块  //增量不写会发生死循环的情况    
  javascript  while(条件){   //JavaScript代码    }    //while循环中的条件符合时,进入循环    
  javascript  do{   //JavaScript代码    }while(条件)     //先执行一遍代码,再判断循环条件是否符合,符合则执行循环体  
javascript  for(var i in 数组名){   //JavaScript代码    }    //在for循环的基础上,简化了for循环的表达式部分  //针对遍历数组、集合的for循环  //数组中有多少元素,就循环几遍,i代表每次循环的下标  

13、注释

a.单行    //

b.多行    / JavaScript代码  

14、输入/输出

a.输出 document.write(); alert();

b.输入 prompt("请输入一个数","");

15、语法约定

a.javascript严格区分大小写

b.遵循变量命名的规范

c.每句后边写分号

16、程序调试

a.alert()

b.浏览器的开发者工具模式,结合alert(),打断点调试

17、函数

a.系统函数

 javascript   parseInt(“12aa”);   //12  把字符串转换成整数     parseFloat(“33aa1.34”)//  33  把字符串转换成浮点数     var a = "33vvv";     var b = "33.2aa3";     var c = "2";     document.write(parseInt(a)+","+parseInt(b)+","+parseInt(c));//33,33,2     document.write(parseFloat(a)+","+parseFloat(b)+","+parseFloat(c));//33,33.2,2      var d="你好";     isNaN(d)      //false  判断是否是非数值,返回true或false   

b.自定义函数

javascript
function study(){
//JavaScript代码
}

1 .有参

javascript  function study(参数1,参数2,参数......){    //JavaScript    }  

例:

javascript <input type="button" value="按钮" onclick="study(prompt('请输入一个数'))"/>  

javascript
<script>
function study(num){
document.write("我爱JavaScript");
}
</script>

2 .无参

javascript
function study(){
//JavaScript代码
}

例:

javascript  <input type="button" value="按钮" onclick="study()"/>  <script>   function study(){     document.write("我爱JavaScript");     }    </script>

调用函数:一般是跟表单元素的事件结合使用

18、变量的作用域

a.局部变量

说明:声明在函数中,只能在当前函数中使用,其他函数访问不到。

b.全局变量

说明:声明在函数外,所有函数都能使用。

19、事件

当用户进行一些鼠标或键盘操作或者页面发生某些情况时,我们可以对该操作进行捕捉,并进行对应的处理响应

名称 说明

onload 一个页面或一幅图像完成加载

javascript window.onload=function(){};

onlick 鼠标单击某个对象

javascript domObj.onclick=function(){}

onmouseover 鼠标指导移到某元素上

javascript domObj.onmouseover=function(){}

onkeydown 某个键盘按键被按下

javascript domObj.onkeydown=function(){}

onchange 域的内容被改变

javascript domObj.onchange=function(){}