JavaScript(三)

本文深入探讨了程序流程控制的概念,包括if语句、switch语句、while循环、do...while循环、for循环以及JavaScript特有的for...in循环。此外,还介绍了with语句的作用域特性及其在实际应用中的注意事项。文章进一步解析了ECMAScript中的函数声明、参数处理、严格模式下的限制及函数重载的缺失,为读者提供了全面的编程指导。

1.06 程序流程控制

  • 选择结构

    ☞ if语句: 2-11.html

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 选择结构

    ☞ switch语句:
    在这里插入图片描述
    在这里插入图片描述

  • 循环结构

    ☞ while语句:
    在这里插入图片描述
    ☞ do…while语句:
    在这里插入图片描述
    ☞ for语句:
    在这里插入图片描述

  • 循环结构

    ☞ for…in语句:JavaScript提供了一种for…in的循环机制来遍历对象的所有属性。结构如下:

  for(prop in object){
          代码块
      }
   //性能比较低尽量不用。

在这里插入图片描述

  • with语句

    with语句的作用是将代码的作用域设置到一个特定的对象中。

    with语句的语法如下:
    with(expression) statement;

    定义with语句的目的主要是为了简化多次编写同一个对象的工作,

var qs = location.protocol
    var hostName = location.pathname;
    var url = location.href;
    console.log(qs);
    console.log(hostName);
    console.log(url);
	with(location) {
	     var qs = protocol;
	     var pathName = pathname;
	     var url = href;
	     console.log(qs);
	     console.log(hostName);
	     console.log(url);
	 }

使用with语句关联了location对象在with语句的代码块内部,每个变量首先被认为是一个局部变量,而如果在局部变量环境中找不到该变量的定义,就会查询location对象中是否有同名的属性,如果发现了同名属性,则以location对象属性的值作为变量的值。

严格模式下不允许使用with语句,否则视为语法错误。

1.07 函数

  • ECMAScript使用function关键字来声明函数。
    这里插入图片描述

  • 带参数的函数
    在这里插入图片描述

  • 带有返回值的函数
    在这里插入图片描述
    function functionName(arg0,arg1,…argN){}

    严格模式下对函数有一些限制:

    不能把函数名命名为:eval或arguments
    不能把参数命名为eval 或arguments
    不能出现两个函数同名的情况
    
  • 理解参数:

    ECMAScript函数的参数与其他语言中的参数有所不同,ECMAScript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么类型。也就是说,即使你定义的函数只接收两个参数,在调用这个函数时也未必一定要传递两个参数。可以传递一个、三个甚至不传递参数。之所以这样,原因是ECMAScript中的参数在内部是用一个数组来表示的,函数接收到的始终都是这个数组,而不关心数组中有哪些参数。实际上,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递个函数的每一个参数。

    在这里插入图片描述
    通过arguments对象的length属性可以获知有多少个参数传递给了函数。
    在这里插入图片描述
    在这里插入图片描述

  • 没有重载:

    EMCAScript中,函数不能像其他语言那样进行重载,后定义的函数会覆盖前面定义的同名函数。

    ECMAScript函数没有签名,因为其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的函数重载是不可能做到。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值