JavaScript嵌入、标识符、变量及函数

JavaScript:事件驱动

  • 所有的事件句柄都是以标签的属性形式存在的。比如: <input type="button", value="hello",onclick = "事件触发代码">
  • 事件监听器一直在监听事件什么时候发生;事件发生则由浏览器执行事件触发代码

1. JS嵌入三种方式

  • 行间事件:直接在事件句柄【标签属性】后面写入js代码。如:<input type="button" value="hello" onclick="window.alert('hello world');">
  • 页面script标签嵌入【脚本块】:在script标签中直接写js代码,页面打开时自上而下的顺序依次执行这些代码
<!--脚本块-->
<script>
    /* 这里直接编写js代码,页面打开时自上而下的顺序依次执行 */
    alert("hello")
</script>
  • 引入外部独立的js文件:从外部导入js文件。和上一条一样,依旧是自上而下的顺序依次执行这些代码【注意,这种方式下在标签之间写的js代码会被忽略!】。如: <script src="js1.js"></script>

2. 标识符

只能由数字、字母、下划线和美元符号组成,但不能以数字开始。严格区分大小写,关键字不能作为标识符

3. 变量

  • 格式:var i = 100;
  • js是一种弱类型语言【C和Java都是强类型语言】,没有编译阶段,直接浏览器打开解释执行。js声明变量时不需要指定变量的数据类型,变量的数据类型是可变的【赋什么值就是什么类型】
  • 声明了变量,但变量不赋值时默认值为undefined
  • 不声明变量直接使用会报错

4. 函数

  • 格式1:function 函数名(形式参数列表) { 函数体; }
  • 函数的实参可以不按函数定义的形参数传入。少写的参数默认补上undefined,多写的参数忽略
function sum(a,b) {
    alert(a + ',' + b);
}
sum();
sum(1);
sum(1,2);
sum(1,2,3);
  • 格式2:函数名 = function(形式参数列表) { 函数体; } 效果等同格式1
<script>
    welcome = function (username) {
        alert('welcome,' + username);
    }
</script>
<!--实现点击按钮后出现 welcome,zhangsan 弹窗-->
<input type="button" value="hello" onclick="welcome('zhangsan');">
  • 虽然js语句顺序执行,但函数声明的优先级较高,即使函数调用语句在声明之前也可以正常执行
  • js没有函数重载【函数名一样,形参不同,内容不同】,而是新的函数“顶替”掉旧函数【出现同名函数,前面旧的函数消失】

5. 局部变量和全局变量

  • 全局变量:在函数体之外声明的变量,浏览器打开的时候分配空间,浏览器关闭的时候销毁
  • 局部变量:在函数体当中声明的变量,函数调用时分配空间,函数执行结束后释放内存
  • 若变量声明的时候没有使用关键字,则一律被视为全局变量,如name = "zhangsan; 当然如果只是写了变量名却不初始化,也会报错,如 name;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值