JS学习第五天总结

1.函数到底是什么?

  • 可以重复调用的代码块。
  • 可以单独写在JS文件中,需要时最是调用。

2.函数的创建方式

  • 函数声明式
function fun(){
    console.log("helloWorld");
}
fun();

fun函数名,代表整个函数
fun()代表函数的调用

  • 函数表达式
var func=function(){
    console.log("helloWorld");
}
console.log(func);
func();
  • 构造函数(这种方式很少使用)
var funct=new Function("var num1=10;var num2=20;console.log(num1+num2)");
funct();

首字母大写开始的叫构造函数

3.变量声明提升

console.log(b);// undefined
var b=20;
相当于
var b;
console.log(b);
b=20;

JS执行前会预解析,会把var后面紧跟的变量声明全部提升到最前面,然后再开始一条一条执行。

var a=20;
function fun(){
    console.log(a);
     var a=10;
     相当于
     var a;
     console.log(a);
     a=10;
}
fun();// undefined

思路练习:

fun();// 20 20 20
console.log(c);// 20
console.log(b);// 20
console.log(a);// 报错
function fun(){
	var a=b=c=20;
	console.log(a);
	console.log(b);
	console.log(c);
}

4.JS两种声明函数的方法以及调用顺序

两种声明方法:

  • 第一种: var a = function () {…};
  • 第二种function a() {…};

第一种方式必须先声明后调用,而第二种方式函数调用在声明之前之后都可以
页面加载过程中,浏览器会对页面上或载入的每个js代码块(或文件)进行扫描,如果遇到定义式函数,则进行预处理(类似于C等的编译),处理完成之后再开始由上至下执行;遇到赋值式函数,则只是将函数赋给一个变量,不进行预处理(类似1中变量必须先定义后引用的原则),待调用到的时候才进行处理。

//第一种方式
//a();这样调用会出错
var a = function () {
    alert("A");
}
a();//A

//第二种方式
b();//B
function b() {
    alert("B");
}
b();//B

5.复习前面内容

  • 五种基本数据类型 Number String Boolean Null Undefined
  • JS的作用 网页中的基本特效 表单验证 控制canvas Ajax 服务器开发nodeJS 游戏开发
  • 三种输出语句 alert(); console.log(); document.write();
  • 运算符
    • 算术运算符 + - * / % ()
    • 关系运算符 >< >= <= == === != !==
    • 逻辑运算符 && || !
    • 一元运算符 typefo ++ --前置先赋值后运算,先运算后赋值
  • if语句
    • if基本语句
    • if多分支语句
    • if嵌套使用
    • 跳楼现象
  • for循环
    • for循环执行过程
  • 函数
    • 重复执行的代码块的封装
    • function name(参数1,参数2){代码块};
    • 参数传递 形参 实参 形参和实参的个数要统一
    • 返回值return 后面的代码不会执行 return后面的代码不能换行
    • 三种创建方式 函数声明 函数表达式 Function构造函数
  • JS三种书写方式 行内式 内联式 外链式(推荐使用)
  • 内置对象 直接提供给开发者使用
  • 获取元素的第一种方式 getElementById();
  • 事件 常用几个事件
    • onclick
    • onmouseover
    • onmouseout
    • onload window.function(){};入口函数:当页面、图片、外部资源等加载完成后执行代码
  • 变量声明的提升
    • 预解析:找关键字var,然后把var和变量名提升到最顶部

测试错题总结

  • console.log(undefined+undefined);// 返回NaN
  • console.log(isNaN(“123”));// 返回false
  • JavaScript组成:ECMAScript、BOM、DOM三部分
  • 变量声明的提升
console.log( func );			
func();
var func = function(){
	console.log(123)
}

结果应该是undefined 然后报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值