前端 day8

一 js的执行过程
1 偏原理
1 可以不懂原理,只需要注意现象,可以正常写代码
2 懂原理,帮助提升代码性能,优化代码
2 js是一门解释型语言
1 预先编译,再执行
2 先通读全文,再解释含义
1 找到var 和function,做出相应提升
2 编译时 提升
3 执行时
1 按照逻辑,结构正常执行
4 变量和函数会提升
1 var的提升
1 var声明的变量会提升
1 声明提升,= 的位置赋值
2 赋值没有提升
2 function的函数提升
1 整体提升
2 即提前声明,又提前赋值
3 如果var遇到function
1 赋值式创建函数
var fn = function(){}
提升的是var fn,不是function 2 变量和函数重名
1 var a = “hello”; function a(){}
2 解释:Var提升的优先级更高,位置比function更靠前,所以function会覆盖var的ad的值,生效的是function
二 递归 --函数的高级应用
1 递归的概念
在函数内部执行自己,递归就是函数自己调用自己,是一个逻辑算法的体现
2 递归如果控制好结束条件,可以用来模拟循环,解决循环能解决的问题。所以,虽然递归不好用,但是可以利用递归的思想,解决一些实际需求
3递归的缺点
1 内存溢出,浪费大量性能,占用过多的进程
4 递归结构
1 递:不断向内执行的过程 就是在执行自身,自己调用自己
2 归:不断向上返回的过程 就是结束,或返回 返回值
3 递归必须包含这两个过程,如果只有递没有归,那么程序未响应
5 案例1(电影院问座位)
1 每个座位号都是前一个座位号+1
2 当前座位号 = 前一个座位号 + 1 3 假设一个计算当前作为的功能: fn ,用来计算第n排
4 用公式表示 : fn(n) = fn(n-1) + 1 5 递: fn(5) = fn(5-1) + 1fn(4) = fn(4-1) + 1 fn(3) = fn(3-1) + 1
fn(2) = fn(2-1) + 1fn(1) = fn(1-1) + 1 fn(0) = 0
6 归:
fn(5) = 4 + 1fn(4) = 3 + 1fn(3) = 2 + 1fn(2) = 1 + 1fn(1) = 0 + 1 fn(0) = 0 6 案例2 计算 n的阶乘
1 分析:阶乘其实就是 当前数字 – 1 的累乘
2 递 5! = 5 * 4!4! = 4 * 3!3! = 3 * 2!2! = 2 * 1!1! = 1
3 归 5! = 5 * 4 * 3 * 2 * 14! = 4 * 3 * 2 * 13! = 3 * 2 * 12! = 2 * 11! = 1
7 注意
1 递归类似于循环
2 递归函数要注意,一定要有停止 / 返回 ,否则会产生死递归
3 递归比较消耗性能,尽量少用
三 对象
1 什么是对象
1 其实就是一种*****事物的描述****,在程序中对象是一种数据类型。
例:描述水杯
材质:玻璃
容量:350ml
颜色:浅绿
形状:圆柱体
功能:盛水的容器
把以上信息,组合打包 用来表示一件事物,之后,就叫对象
2 程序中的对象主要用来 存储信息
2 如何得到对象
1 字面量形式:字面意思表达的量 var o1 = { };
2 构造函数形式 var o2 = new Object( );
3 对象的意义和本质
1 意义(功能)
1 存储信息
2 编程(面向对象编程) 2 本质 键值对(属性名和属性值成对出现) 4 对象的操作
1点语法(.) (字面量形式创建对象) 1 对象.属性名 var o = { };
2 读 console.log(o.name);
3 写 o.name = “Admin”; o.age = “18岁”; o.sex = “男”; o.sayHello = function(){ console.log(“你好,我叫:” + o.name);}
2 字面量创建对象时,可以很方便写入初始属性
var obj = { name : “Admin”;age:18;sex:”男”;sayHello:function(){ console.log(“你好,我叫:” + obj.name);}}; 3 注意
1 任何两个对象都不相等
2 如果相等了,意为着就是 一个对象。四 数组
1 什么是数组
1 数据的组合、一组数据、
2 当需要操作多个类似数据时,可以给数据打包成数组
1 数组其实也是对象,只是存储数据的形式不一样,但是类型是一样的
2 如何得到数组
1 字面量 var arr1 = [ ]; 2 构造函数 var arr2 = new Array(); 3 区别 1 当字面量内,只有一个数值型数据时,表示一个数据 2 当构造函数内,只有一个数值型数据时,表示长度 4 注意区别,按需选择 3 如何操作数组(xiaCi) 1 数组内,可以放置任何数据 2 索引操作 3 方法操作

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值