Javascript基础2

Javascript基础2

流程控制

if判断

  • 语法结构1
if( 条件表达式,结果是true或false )
{
		//条件为true时,执行的代码
}
  • 语法结构2
if( 条件表达式 )
{
	//条件为true时,执行的代码
}else
{
	//条件为false时,执行的代码
}
  • 语法结构3
if(条件1)
{
	代码1;
}else if(条件2)
{
	代码2;
}else if(条件3)
{
	代码3 ;
}else
{
	如果以上条件都不满足,则执行;
}

switch分支结构:根据一个变量的不同取值,来执行不同的代码

  • 语法结构:
switch(变量)
{
    case1:
        代码1break;
    case2:
	代码2;
	break;
    case3:
	代码3;
	break;
    default:
	如果上边的条件都不满足,则执行;
}

两个关键字break和continue

  • break:在循环、switch里边有使用 跳出当前的本层循环
  • continue:在循环里边使用 跳出本次循环,进入下次循环

循环

  • while循环

while 语句是先测试循环。这意味着退出条件是在执行循环内部的代码之前计算的。因此,循环主体可能根本不被执行。

var i = 0; //变量初始化,定义变量并赋值
while(i<10)
{
	document.write(i);
	i++;//要有退出循环的条件
}
  • do while循环

do-while 语句是后测试循环,即退出条件在执行循环内部的代码之后计算。这意味着在计算表达式之前,至少会执行循环主体一次。

var i = 0;
do {i += 2;} while (i < 10);
  • for循环
iCount = 6;
for (var i = 0; i < iCount; i++) {
  alert(i);
}

for in语句

for 语句是严格的迭代语句,用于枚举对象的属性或者遍历一个数组的元素

var arrs=["aa","bb","cc"];
for (var i in arrs){
    alert(str[i])
}

With语句

wth语句的作用: 有了 With 语句,在存取对象属性和方法时就不用重复指定参考对象。

with(obj){
		操作obj的属性语句;
}

<script type="text/javascript">
        <!—
            with(document){
              write("您好 !");
              write("<br>这个文档的标题是 : \"" + title + "\".");
              write("<br>这个文档的 URL 是: " + URL);
              write("<br>现在您不用每次都写出 document 对象的前缀了 !");
           }
        // -->
</script>

函数

函数是:有一定功能代码体的集合。

函数创建

  • 传统方式

function 函数名(){}

该方式的函数有“预加载”过程,允许我们先调用函数、再声明函数 预加载:代码先把函数的声明放入内存。代码开起来是先调用、后声明,本质是先声明、后调用的。

注意:函数先调用、后声明的条件是,全部代码在一个”<script>”标记里边。

<script type="text/javscript">
    getInfo()
    function getInfo(){
        console.log("hello");
    }
</script>
  • 变量赋值方式声明函数(匿名函数使用)

var 函数名 = function(){}

该方式没有“预加载”,必须先声明、后调用。

<script type="text/javscript">

    var getName=function (){
        console.log("tom");
    }
    getName();
</script>
  • 参数

在javascript中参数没有严格的限制,实参和形参没有严格的对照关系

<script type="text/javscript">
    function getInfo(name,age,address){
        console.log("name"+name+"age"+age+"address"+address);
    }
    getInfo("tom");
    getInfo("tom",12);
    getInfo("tom",12,"xxx");
</script>
  • 关键字arguments(类似Java里面的可变参数)

这是一个参数数组

Javascript语法上并不支持重载,但是此方法可以实现模拟重载

<script type="text/javscript">
    function getInfo(){
        var length=arguments.length;
        if(length==0){
            console.log("个人信息");
        }else if(length==1){
            console.log("个人信息:名字"+arguments[0])
        }else if(length==2){
            console.log("个人信息:名字"+arguments[0]+"年龄"+arguments[1])
        }else if(length==3){
            console.log("个人信息:名字"+arguments[0]+"年龄"+arguments[1]+"地址"+arguments[2])
        }
    }
    getInfo()
    getInfo("tom");
    getInfo("tom",12);
    getInfo("tom",12,"xxx");
</script>
  • callee关键字

意思:在函数内部使用,代表当前函数的引用。

function f1(){
  xxxx具体执行代码
  arguments.callee();   //调用本函数(或者f1())
  //都可以使得本函数执行,我们选择callee,其可以降低代码的耦合度。
  xxxx执行代码
}
  • 函数返回值

一个函数执行完毕需要返回具体的信息,使用return关键字返回信息。 在一定层度上看,全部的数据类型(数值、字符串、布尔、对象、null)信息都可以返回 return本身还可以结束函数的执行。

在函数内部返回一个函数出来。 在javascript里边,一切都是对象 在一个函数内部,可以声明数值、字符串、布尔、对象等局部变量信息,言外之意就还可以声明函数(函数内部还要嵌套函数),因为函数是对象,并且函数可以被return给返回出来。

  • 函数调用

传统调用

函数名();

匿名函数自调用

(function(){})();

  • 全局/局部变量

全局变量

① 在函数外部声明的变量

② 函数内部不使用“var”声明的变量(函数调用之后起作用)

局部变量

在函数内部声明的变量,变量前边有”var“关键字。

  • 总结
  1. 使用function关键字定义函数。
  2. 没有任何的返回值类型。
  3. 函数的定义优先执行,与顺序无关。(传统模式定义的函数)
  4. 可以通过函数名赋值函数,函数变量的类型是function对象。
  5. 参数列表不能有var关键字。
  6. 函数的参数列表在具体调用的时候实参个数可以和形参个数不同。
  7. JavaScript函数天然的支持可变参数。
  8. 同名的函数最后声明会覆盖前面以声明。Javascript中没有函数重载。

面向对象

基本数据类型的包装对象

  • String
  • Number
  • Boolean

Math类

Math工具类中的方法

max()

min()

random()

...更多请看文档

Date对象

function showDate() {
	//获取系统时间
	var date = new Date();
	//获取年 月 日时分秒
	var str = date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日" + "星期" + date.getDay() + " " + date.getHours() + "时" + date.getMinutes() + "分" + date.getMinutes() + "分" + date.getSeconds() + "秒"
	//将格式化好的时间显示在叶面的span标签体中
	var span = document.getElementById("mydate");
	//给span标签设置标签体内容
	span.innerHTML = str.fontcolor("red");
	//调用定时函数
	window.setTimeout("showDate()", 1000);
}

//调用函数
showDate();

数组

  • 创建数组有两种方式
    • 第一种是使用Array的构造函数var arrs=new Array();
    • 第二种方式 var arrs=["aa","bb","cc"];
//数组的声明和初始化,注意:数组的长度取决于整数下标的个数
var arr = new Array();
arr[0] = "aa";2
arr[1] = "bb";
arr[6] = 'xx';
document.write(arr + "<br/>");
//遍历数组
for (var i = 0; i < arr.length; i++) {
	document.write(arr[i]+"<br/>");
}
//下标越界时:
var arr = ["aa", "bb"];
document.write(arr[200]);
// 显示undefined
  • array常用方法
sort()
			对当前数组进行排序,并返回已经进行了排序的此Array对象。
			不会创建新对象,是在指定数组中直接进行排序。
		reverse()
			对当前数组进行反转排序,返回一个元素顺序被反转的 Array 对象。 
			不会创建新对象,是在指定数组中直接进行排序。

		push( [item1 [item2 [. . . [itemN ]]]] )
			将以新元素出现的顺序添加这些元素。
			如果参数之一为数组,那么该数组将作为单个元素添加到数组中。
		pop()
			移除数组中的最后一个元素并返回该元素。
			如果该数组为空,那么将返回 undefined。
		shift()
			移除数组中的第一个元素并返回该元素。
			如果该数组为空,那么将返回 undefined。
		unshift([item1[, item2 [, . . . [, itemN]]]])
			将指定的元素插入数组开始位置并返回该数组。

		splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
			移除从 start 位置开始的指定个数的元素,并插入新元素,从而修改 			concat([item1[, item2[, . . . [, itemN]]]])
			返回一个新数组,这个新数组是由两个或更多数组组合而成的。原数组不变。
			要加的项目(item1 itemN)会按照从左到右的顺序添加到数组。	
			如果某一项为数组,那么添加其内容到 array1 的末尾。
			如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。		
		slice(start, [end]) 
			返回一个包含了指定的部分元素的数组。
			将返回索引大于等于start且小于end的一段。
			原数组不变。
		join(separator)
			把所有元素由指定的分隔符分隔开来组成一个字符串,返回这个字符串值。
			如果数组中有元素没有定义或者为 null,将其作为空字符串处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值