JavaScript的引入方式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!--[1]js引入的方式一 alert:弹窗-->
<script type="text/javascript">
alert("js学习");
</script>
<!--[2]js的引入方式2 type:引入否认类型-->
<script src="js/test.js" type="text/javascript" charset="utf-8"></script>
<!--
切记:
[1]两种引入方式如果都使用了,那么两种js代码都会执行
[2]在书写js的时候不要把两者书写二合一
-->
</head>
<body>
</body>
</html>
数据类型
A、number(数字类型)
B、string(字符串类型)
C、boolean(布尔类型)
D、object(对象类型)
特殊数据类型
A、undefined(未定义的) 原因:只是声明了变量,没有赋值
B、NaN(not a number )不是一个数字 原因:把一个字符串(例如:123a)强制转换造成
C、null :对象的空
运算符
01 算数运算符
+ - * / % ++ – 三目运算
02逻辑运算符
& | ! && || < > >= <= != ^
03连接运算符
+
04特殊运算符
==(等值符 使用较多)
比较的时候先比较类型 ,类型一致比较内容,类型不一致统一的转化成number,然后在比较内容
===
(等同符)
比较的时候先比较类型,类型不一致直接返回false,类型一致在比较内容,内容一致返回true ,不一致返回false;
注意:
在js中比较的时候用的就是这两种,没有equals这个方法
控制语句
<script type="text/javascript">
var a=100;
//js中for循环中的变量不是局部的变量是全局的, 在js中for循环不是一个函数
for(var i=1;i<=9;i++){
// var a=1;
for(var j=1;j<=i;j++){
/*直接输出到浏览器上*/
document.write(i+"*"+j+"="+i*j+" ");
}
document.write("<br />");
}
alert(a);
</script>
函数的三种方式声明方式
函数的执行符:()–函数的执行符–jquery的封装原理
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
/***********[1]函数声明的三种方式**********************/
function demo1(){
alert("函数声明方式一");
}
var demo2= function(){
alert("函数声明方式二")
}
//函数本身也是一个对象
var demo3=new Function("alert('函数声明方式三')");
</script>
JS中参数的传递
A、js中形参的个数和实参的个数可以不一致
B、js中没有方法的重载 ,重名的方法只会覆盖
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
/***********[2]函数的参数的问题***************************/
function demo4(a,b,c){
alert(a+"***"+b+"***"+c);
}
function demo4(a,b){
alert(a+"--"+b);
}
//demo4(12,"sxt"); //12--sxt
//demo4(12); //12--undefined
//js中形参的个数和实参的个数可以不一致
//demo4(12,"sxt",13); //12--sxt
</script>
函数的返回值
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
/***********[3]JS中函数的返回值*******************/
function demo5(a){
alert(a);
return "sxt";
}
//没有定义方法的返回值默认返回 undefined
//alert("函数的返回值:"+demo5(20));
function demo6(uu){
alert(uu());
return 500;
}
var ii=function(){
return "bjsxt";
}
demo6(ii);
</script>
数组
数组的声明:
function demo1(){
//方式一
var arr1=new Array();
//方式二 5:数组的长度
var arr2=new Array(5);
//方式三 具体的元素
var arr3=new Array(1,1.2,true,'bjsxt',new Date());
//方式四 (使用较多)
var arr4=[1,1.2,new Date(),true,"字符串"];
//控制台输出
console.log(arr4); }
数组的使用 (js中数组的下标是可以不连续的,如果不连续默认补充empty)
arr[0]=“123”;
arr[10]=1;
中间元素用empty补充
数组的扩容
function demo3(){
var arr =[1,1.2,new Date(),false,"呵呵"];
console.log("前:"+arr);
//数组的扩容
// arr.length=10;
//数组的缩小
arr.length=3;
console.log("后:"+arr);
}
数组的遍历
function demo4(){
var arr =[1,1.2,new Date(),false,"呵呵"];
//普通的for循环
/*for(var i =0;i<arr.length;i++){
console.log(arr[i]);
}*/
增强for循环 u:是代表的是数组的下标不是具体的数组中的元素
for(var u in arr){
console.log(arr[u]);
}
}
数组中常用的方法
function demo5(){
var arr =[1,1.2,new Date(),false,"呵呵"];
console.log("前:"+arr);
// 删除并返回数组的最后一个元素
// var po= arr.pop();
//向数组的末尾添加一个或更多元素,并返回新的长度。
// var po= arr.push("我们");
//1:代表的是删除开始的位置 2:删除的个数
// arr.splice(1,2);
//添加的操作 2:开始的下标 0:删除的个数 :添加的内容
arr.splice(2,0,"添加");
console.log("后:"+arr);
}