javascript基础
2017-04-11 21:47
253 查看
javascript的简介
javascript的概念是基于对象和时间驱动的语言,应用于客户端
1.基于对象:提供了很多对象,可以直接拿过来使用
2.事件驱动:html做网站静态效果,javascript动态效果
3.客户端:专门指的是浏览器
js的特点
1.交互性:信息的动态交互
2.安全性:js不能访问本地磁盘的文件
3.跨平台性:java里面跨平台性,虚拟机;而只有能够支持js的浏览器,都可以运行
javascript和java的区别
1.java是sun公司,现在oracle;js是网景公司
2.javascript是基于对象的,java是面向对象
3.java是强类型的语言,js是弱类型的语言
比如java里,
int i = "10";
js里,
var i = 10; var m = "10";
4.javascript只需解析就可以执行,而java需要先编译成字节码文件,再执行
javascript的组成(三部分)
1.ECMAScript:由ECMA组织制定的javascript的语法,语句
ECMA:欧洲计算机协会
2.BOM:broswer object model
浏览器对象模型
3.DOM:document object model
文档对象模型
javascript和html的结合方式(两种)
第一种:使用一个标签
<script type="text/javascript" src="1.js"> javascript代码; </script>
第二种:使用script标签,引入一个外部的javascript文件
创建一个javascript文件,写javascript代码
<script type="text/javascript" src="1.js"></script>
使用第二种方式时,不要在script标签里面写javascript代码,因为不会执行
javascript的数据类型和变量声明
javascript的基本数据类型:byte short int long float double char boolean
定义变量时都使用关键字var
javascript的原始类型(五个)
string:字符串
var str = "abc";
number:数字类型
var m = 123;
boolean: true和false
var flag = true;
null:获取对象的引用,null表示对象引用为空,所有对象的引用也是object
var date = new Date();
undifined:定义一个变量,没有赋值
var aa;
typeof运算符
typeof(变量名称);查看当前变量的数据类型
javascript的语句
java里面的语句:if判断
switch语句
循环 for while do-while
javascript里的语句:
if判断语句:
=:表示赋值
==:表示判断
switch语句
java里面支持数据类型string吗?在jdk1.7开始支持
在javascript中都支持
循环语句for while do-while
javascript的运算符
javascript里面不区分整数和小数var j = 123; alert(j/1000*1000); //j/1000*1000 在java里面得到的结果是0 //在javascript里面不区分小数和整数,123/1000*1000=0.123*1000=123
字符串的相加和相减操作
//相加时做字符串连接 //相减时做的是相减的运算 var str = "456"; //alert(str+1); //在java里面操作的结果是4561,在javascript里面还是4561 alert(str-1); //相减时执行减法的运算
若执行如下代码,将会得到提示NaN:表示不是一个数字
var str = "abc"; alert(str-1);
boolean类型的相加减操作
若设置成true,相当于值为1
若设置成false,相当于值为0
==和===的区别
==比较的只是值
===比较的是值和类型
直接向页面输出的语句(可以把内容显示在页面上)
document.write(固定值/变量/html代码)
document.write()里面可以是双引号,如果设置标签的属性需要使用单引号
document.write("aaa"); document.write("<hr/>");
javascript的数组
java里面数组的定义:int[] arr = {1,2,3};
javascript数组的定义方式:
数组可以存放不同数据类型的数据
第一种:
var arr = {1,2,3}; var arr = {1,"4",true};
第二种:使用内置对象Array对象
var arr1 = new Array(5); //定义一个数组,数组长度是5 arr1[0] = "1";
第三种:使用内置对象Array
var arr2 = new Array(3,4,5); //定义一个数组,数组里面的元素是3 4 5
数组里面的一个属性length:获取数组的长度
数组名.length();
javascript的函数
在Java里面定义方法:public 返回类型void/int 方法名(参数列表){
方法体;
返回值;
}
public int add(int a,int b){ int sum = a + b; return sum; }
在javascript里定义函数(方法)的三种方式
函数的参数列表里面不需要写var,直接写参数名称
第一种:使用到一个关键字 function
function 方法名(参数列表){
方法体;
返回值可有可无(根据实际需要);
}
//使用第一种方式创建函数 function test(){ alert("qqqqq"); } //调用方法 //test(); //定义一种有参数的方法 实现两个数的相加 function add1(a,b){ var sum = a + b; alert(sum); } //add1(2,3); //有返回值的效果 function add2(a,b,c){ var sum1 = a+b+c; return sum1; } alert(add2(3,4,5));
第二种:匿名函数
var add = function(参数列表) {
方法体和返回值;
}
//第二种方式创建函数 var add3 = function(m,n){ alert(m+n); } //调用方法 add3(5,6);
第三种:(较少用,只需了解)
动态函数,使用到javascript里面的一个内置对象Function
var add = new Function(“参数列表”,”方法体和返回值”);
第一种写法:
//第三种方式创建函数 var add4 = new Function("x,y","var sum;sum = x+y;return sum;"); //调用函数 alert(add4(2,5));
第二种写法:
//第三种方式创建函数 var canshu = "x,y"; var fangfati = "var sum;sum = x+y;return sum;" ; var add4 = new Function(canshu,fangfati); //调用函数 alert(add4(2,5));
javascript的全局变量和局部变量
全局变量:在script标签里面定义一个变量,这个变量在javascript部分都可以使用在方法外部使用,在方法内部使用,在另外一个script标签使用
局部变量:在方法内部定义一个变量,只能在方法内部使用
如果在方法的外部调用这个变量,将提示出错
ie自带了一个调试工具,ie8及其以上的版本中,键盘上F12,在页面下方出现一个条,显示出错信息
script标签放的位置
建议把script标签放到</body>的后面
如果现在有这样一个需求:
在javascript里面需要获取到input里面的值,如果把script标签放到head里面则会出现问题。
因为html解析是从上到下解析的,script标签放到的是head里面,直接在里面取input里面的值,而页面还没有解析到inpu那一行,肯定取不到。