您的位置:首页 > Web前端 > JavaScript

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那一行,肯定取不到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript html