WEB前端问题总结--JavaScript(1)

一.JavaScript三种存在位置

  1.行间式:存在于行间事件中

<body id="body" onload="body.style.backgroundColor='#0ff'">
    
</body>

  2.内联式:存在于页面script标签中

<body id="body">
    <script type="text/javascript">
		body.style.backgroundColor='#0ff'
	</script>
</body>

 3.外联式:存在于外部JS文件,通过script标签src属性链接

index.js文件
body.style.backgroundColor='#0ff'

index.html文件
<script src="./js/index.js"></script>

二.解释性语言特性决定JS代码位置

   1.出现在head标签底部:依赖型JS库

   2.出现在body标签底部:功能型JS脚本

三.JS语法规范

   1.注释

    // 单行注释
   /* 
    多行注释
   */

   2.以分号作为语句结尾(允许省略)

四.变量的定义

   1.ES5定义变量

var num = 10;  // 无块级作用域变量
num = 10;  // 全局变量

    2.ES6定义变量

let num = 10;  // 局部变量
const NUM = 10;  // 常量

  3.四种 定义变量的方式

四种定义变量的方式
语法: 关键词 变量名 = 变量值

num = 10; // 省略关键词, 定义的为全局变量, 在任何位置定义, 在任何位置都可以访问, 但不建议使用
var num = 10; // var关键词, 无块级作用域, 定义在块级作用域中的变量, 外界也可以访问
let num = 20; // let关键词, 有块级作用域, 定义在块级作用域中的变量, 外界无法访问
const NUM = 30; // const关键词,有块级作用域, 定义在块级作用域中的变量, 外界无法访问, 且变量的值不能再被二次修改, 所以为常量

/* 产生块级作用域的方式
{
    直接书写
}
if语句可以产生
while语句可以产生
for语句也可以产生
*/

// 函数可以产生局部作用域, 除了定义在局部作用域中的全局变量(没有关键字的变量声明), 外界可以访问, 其他定义方式, 外界都不可以访问

 

 五.变量(标识符)的命名规范

1.由字母,数字,_,$组成,不能以数字开头(可以包含中文字符)
2.区分大小写
3.不能出现关键字及保留字

   注意:

<script>
    //块级作用域定义变量
    // var无块级作用域
  {
      const NUM="hello";
      var num=10;

  }
  //let有块级作用域
  {
      let b=888;
      console.log(b)
  }
  //const有块级作用域
  {
      const NUM="hello";

  }
  console.log(num);

     //let定义的变量具有块级作用域,在块级作用域之外无法访问
    //var定义的变量无块级作用域,在块级作用域之外可以访问
    // const定义的常量具有块级作用域,在块级作用域之外无法访问
   // 在ES6语法下,定义的变量(let)和常量(const)都具有块级作用域
    // 在ES5语法下,没有定义常量的概念,且所有的定义变量都不具有块级作用域

</script>

    

<script>
    //局部作用域
    //ES5语法下,只有方法(函数)才能产生局部作用域
    //ES6语法下,块级作用域都可以为局部作用域
    //块级作用域的范围大于等于局部作用域的范围
    function func() {
         a =10;  //全局作用域
        let b=20; //局部作用域
        const c=20;  //局部作用域

        //定义全局变量
        //注:定义全局变量与重新赋值语法相同,容易混淆,不建议使用
        ddd=50;

    }


    {

        ddd=60;
    }
    
    func()  //执行函数

    console.log(a);
    //console.log(c);
    console.log(ddd);  //50
    
</script>

let关键字可以声明变量,同var一样,var只要不在函数里面,都为全局变量,

但是let关键字声明的变量,会在结构语句中产生块状作用域。

所有结构语句  for while do while  if switch 都有块状作用域.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值