JavaScript 之 使用方式、函数定义与调用、(局部、全局)变量

JavaScript 包括三块:ECMAScript、DOM、BOM
  • ECMAScript 是 ECMA 制定的 262 标准,JavaScript 和 JScript 都遵守这个标准,ECMAScript 是 JavaScript 核心语法
  • DOM 编程是通过 JavaScript 对 HTML 中的 dom 节点进行操作,DOM 是有规范的,DOM 规范是 W3C 制定的。(Document Object Model:文档对象模型)
  • BOM 编程是对浏览器本身操作,例如:前进、后退、地址栏、关闭窗口、弹窗等。由于浏览器有不同的厂家制造,所以 BOM 缺少规范,一般只是有一个默认的行业规范。(Browser Object Model:浏览器对象模型)

————————————————————

一、嵌入JS的三种方式

行间事件

  <input type="button" value="hello" onclick="alert('hello js')" />
  • JS 中的任何一个事件都对应一个事件句柄,例如鼠标单击事件 click,对应的事件句柄就是 onclick,事件句柄都是以标签的属性方式存在
  • JS 中的字符串可以使用单引号括起来,也可以使用双引号括起来
  • JS 中的一条语句结束后可以使用“;”结尾,也可以不写

页面 script 标签嵌入

  <script type="text/javascript">JS 代码</script>

  • window.alert()的执行会阻塞当前页面的加载
  • 一个页面中可以写多个脚本块
  • 脚本块的位置没有限制
  • 暴露在脚本块中的 JS 代码在页面打开的时候遵循自上而下的顺序依次逐行执行

外部引入

  <script type="text/javascript" src="js 文件路径"></script>
  • 这种写法错误:<script type="text/javascript" src="js 文件路径">这里不能写 JS 代码</script>
  • 这种写法错误:<script type="text/javascript" src="js 文件路径"/>
————————————————————

二、函数的定义与调用

 第一种:普通函数定义
function 函数名(形式参数列表) {
  函数体;
}
例如:
function sum(a, b) {
  return a + b;
}
  注意:a 和 b 是形式参数列表,也是两个局部变量。返回数据使用 return 语句,页可以不返回任何数据。
  JS 中的函数在调用的时候,实参可以随意,例如调用以上的 sum 函数,可以这样调用:
    sum(),没有传任何实参的时候 a 和 b 变量没有赋值,则 a 和 b 都是 undefined。
    sum(10),表示 a 变量赋值 10,b 变量仍然是 undefined。
    sum(1,2),表示 a 是 1,b 是 2。
 第二种:把函数的声明当做类进行定义
函数名 = function(形式参数列表) {
  函数体;
}
例如:
sum = function(a, b) {
  return a + b;
}
  1、JS 中的函数定义在脚本块中,页面在打开的时候,函数并不会自动执行,函数是需要手动调用才能执行的。
  2、由于 JS 是一种弱类型编程语言,所以函数不能同名,没有重载机制
  3、这样的代码顺序是可以的,页面打开的时候会先进行所有函数的声明,函数声明优先级较高
<script type="text/javascript">
  sayHello();
  function sayHello(){
    alert("Hello JS");
  }
</script>
  4、用户点击按钮,调用函数
<script type="text/javascript">
  function sayHello(){
    alert("hello js");
  }
</script>
<input type="button" value="hello" onclick="sayHello();"/>

———————————————————— 

三、局部变量和全局变量

局部变量:函数的形参是局部变量,另外使用 var 关键字在函数体中声明的变量是局部变量,函数执行结束之后,局部变量的内存就释放了。
全局变量:在函数体外声明的变量属于全局变量,另外不使用 var 关键字声明的变量无论位置在哪,它都是全局变量,全局变量在浏览器关闭时销毁。
<script type="text/javascript">
    var a = 10; // 全局变量(在函数体外声明的变量)
    function test(){
        a = 20;
        var b = 30;    // 局部变量(使用 var 关键字在函数体中声明的变量)
        c = 40;          // 全局变量(不使用 var 关键字声明的变量,必须初始化)
        alert(a+"--->"+b+"---->"+c);    
    }
    test();           // 20--->30---->40
    alert(a);        // 20
    // alert(b);    // 报错,b是局部变量
    alert(c);        // 40
</script>    

 

posted @ 2022-07-18 16:01  鹿先森JIAN  阅读(778)  评论(0编辑  收藏  举报