JavaScript核心与进阶(三)

一、变量的访问原则

从里到外,一层一层去查找

二、匿名函数

1.  具名函数

2.  匿名函数

3.  函数表达式

【案例】

4.  具名函数与函数表达式区别

  • 具名函数的调用可以写到任何位置 (函数前和函数后都可以)
  • 函数表达式,必须先写表达式,后调用

5.  立即执行函数   (不需要调用,立即执行)

法1:小括号 小括号  第一个小括号里面写function( ){ } ;

代码写在大括号里

分号加在前面也可以

第二个小括号相当于调用,里面是实参,function里面的小括号是形参

法2:小括号里面function( ){ }( )   外面 ;

6.  函数的综合案例

补 0 操作

局部变量在函数中第一次写时,记得声明

三目运算符的结果只是一个返回值,需要有一个变量来接收这个值

双击 + Ctrl + D 可以选中和双击时所选中的东西 

三、逻辑中断

&& 左边为假就中断,两边都真,则返回最后一个真值

|| 左边为真就中断;两边都真,则返回第一个真值;一假一真,返回真

|| 只要有真则为真

  • 一真一假

前面为真,或者前面为假,直接中断语句,括号后面就不执行了

若 fn()不传值,即 x 和 y 都是 undefined,则 x 与 y 获得的都是 0

  • 全真

四、转换为布尔型

1.  显示转换

黄框中的内容是当做假来看(来与&&做运算) ,但还是会返回本值

2.  隐式转换

字符串 + 数字 会将整体转化为字符串

undefined除外,undefined + ‘ 数字 ’ 会拼接成字符串 ;undefined + 数字  会变为NAN

 减法会让空字符串变为 0 ,会让字符串 ‘ 2 ’ 变为数字 -2

 0 - 2 = -2

减法只能用于数字,和字符串连用,会变成NAN

null 与数字结合参与运算时,会当做 0 来运算

  0 + 3 = 3

undefined + 数字  会变为NAN

注意:NAN 不等于 NAN ,NAN做任何操作结果都是NAN,但是NAN是一个数字型

 五、对象

1.  定义

2.  对象的声明

对象属性没有顺序

属性和具体的值之间用 :(冒号) 隔开

多个属性之间用 ,(逗号)隔开

3.  属性

【案例】

4.  对象的使用

①、查   (对象名.属性名)

注意:若所查的属性名是字符串型,查时用对象名[ ' 属性名 ' ]

必须加引号,单引号和双引号都可以

查总结

【示例】

②、改   (对象名.属性名 = 新值)

③、增   (对象名.属性名 = 新值)

④、删   (delete 对象名.属性)(了解)

5.  对象的方法  (方法名 + 函数)

方法调用   对象名. 方法名( )

注意:千万不要忘了括号

注意:调用了,就直接打印输出了,不需要再加 consloe.log( )

多个方法之间用逗号分隔

【示例】

6.  遍历对象

用 for in 语句

遍历对象代码

注意:for in 不提倡遍历数组,因为k是字符串

注意:不加引号

7.  综合案例

①、定义一个数组,每一个对象是一个数组元素

数组里面放的是对象,每一个对象之间用逗号分隔, 所以每个对象都是一个数组元素,遍历数组用for 不用 for in

②、 console.log(i)   打印数组下标索引号

③、 console.log(students[i])   打印每一个数组元素(即每一个对象)

 ④、  console.log(students[i].name)   打印对象中的某一个值

⑤、  要渲染表格内容,所以在表格里面加 script ;表格内容标题不用渲染,所以不用加到 script 里面

⑥、  打印对象里面的数据

⑦、 渲染总代码

 注意事项

-1-  for in 使用 对象名[ ]来打印输出;普通的 for 则都可以

注意:for in 不能用 对象名 . 属性名 来打印输出,要使用 对象名[ ] 来打印输出

普通的 for 则都可以

-2-  除了第一行外,其他行,鼠标放上去变色 

table tr:not(:first-child):hover

-3-  表格

tr 是每一行

th 是首行元素

td 是每一行表格内容

8.  内置对象 

①、  定义

②、  内置对象-Math

-1-  ceil 向上取整

-2-  floor 向下取整

注意:parseInt( )直接删去后面,取整数部分

           并且可以将字符串转为整数数字

而 floor 就不可以,不能将字符串转为整数数字,结果会是NAN

-3-  round 四舍五入

-4-  max min abs

注意:max 与 min 不能计算数组

-5-  pow 幂方法

-6-  PI 圆周率

-7-  sqrt 平方根
-8-  random 生成随机数
<1>、  若想要0 - n 之间的随机数,可以最后乘以 n+1

【示例】生成 0-10 的一个随机数 (整数)

注意:floor 是向下取整,10.9999 -> 10

<2>、  任意抽取数组中的一个数据

<3>、  生成 N-M 之间的随机数

注意:可以将后面(M - N + 1)先算出来,然后算出的结果与Math.random 相乘,最后生成的随机数再 + N

9.  null  空对象 类似 let obj = { }

用于这里本来是要存对象的,但是现在对象还没有准备好,所以先用 null 先代替

10.  同一对象中出现同一名称,后面会覆盖前面的

11.  random 的综合案例

 ①、 随机点名

注意:用 splice 删除数组元素

删掉了黄忠 ,(目前,只能做到,打印一个,在整个数组中,删掉所打印的数组元素)

但是做不到一直删,一直删需要结合后面的 APIs 来实现

②、  猜数字

【不设定次数】

【设定次数】

③、  生成随机颜色

【框架】

【 随机打印 #ffffff 十六进制 】

【 随机打印 rab(255,255,255) 】

【总代码】

12.  综合案例 - 页面渲染

①、  先用数组对象,来记录要渲染的数据

②、  循环数组打印数据

注意:蓝色数据中图片有引号,所以下面黄色数据打印时就不加引号

 注意:文字里面有空格,打印的时候会默认不打印空格之后的内容,想要完全打印出来

则在外面加一个 “ ” 引号

六、术语解释

七、基本数据类型和引用数据类型

1.  堆栈空间分配区别

2.  简单数据类型 值类型的内存分配

3.  复杂数据类型 引用类型的内存分配

【示例】 同一个地址同一个对象 修改一个值,另一个值也跟着变为一样的

好啦!!!本周的分享到这里就结束了。下周同一时间同一地点我们不见不散!!!

大家记得要练习哦!动手敲一敲!

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值