软件设计之JavaScript(1)
创始人
2024-11-04 17:39:24
0

软件设计之JavaScript(1)

【狂神说Java】JavaScript最新教程通俗易懂

学习内容:

软件开发技能点参照:软件开发,小白变大佬,这套学习路线让你少走弯路是认真的,欢迎讨论
软件开发技能点顺序参照:Java学习完整路线,强烈建议收藏转发

  1. 什么是JavaScript
  2. 引入JS
  3. 数据类型
  4. 函数
  5. 变量作用域
  6. 方法

1、什么是JavaScript

JavaScript是一门脚本语言
一个合格的后端人员,必须要精通JavaScript
ECMAScript可以理解为是JavaScript的一个标准

2、引入JS

在这里插入图片描述

Script内语句

var num = 1;设置变量时出现warning:'var' used instead of 'let' or 'const'
解决方法

   

严格审查模式

前提:IDEA需要设置支持ES6语法
严格审查模式预防JS的随意性导致产生一些问题
局部变量建议使用let定义

  

console.log(var)

在浏览器控制台打印变量
在这里插入图片描述
在这里插入图片描述

3、数据类型

number

JS不区分小数和整数,Number
在这里插入图片描述

字符串

正常字符串使用单引号或双引号
多行字符串编写用这个包裹 ``(TAB键上面的)
字符串仍不可变

模版字符串

此处的是TAB上的``

   
substring

从第一个字符串截取到最后一个字符串 X.substring(1)
从第一个字符串截取到第三个字符串 X.substring(1,3)

布尔值

true,false

逻辑运算

&& 与
|| 或
! 非

比较运算符

=
== 等于 (类型不一样,值一样,也会判断为true)
=== 绝对等于(类型一样,值一样,结果true)
注意NaN与所有的数值都不相等,包括自己 (NaN===NaN返回false)
可以通过isNanN()方法返回值判断是否为NaN,true为是;false为否

浮点数问题

第一行代码结果是false

在这里插入图片描述

数组

假如给数组的length属性赋值,数组大小会发生变化。赋值过小,元素会丢失
indexOf通过元素获取下标索引
slice() 截取Array一部分,返回一个新数组
push:从尾部添加
pop:从尾部弹出

在这里插入图片描述

对象

每个属性用逗号隔开,键值对描述属性 XXXX: xxxx
取对象用 Person.age
对象赋值直接赋值 person.name = “xxx”
使用一个不存在的对象属性不会报错–>输出undefined
JS中所有的键都是字符串,值是任意对象

   
动态删减/添加属性

通过delete删除对象的属性
直接给新的属性添加值就可以实现动态添加

判断属性值是否在对象中

xxx in xxx 返回布尔类型

'age' in person 
全局对象window

默认所有的全局变量,都会自动绑定在window对象下

 

在这里插入图片描述

Map与Set

Map:键值对集合数据结构
Set:无序不重复集合

Map

在这里插入图片描述

Set

在这里插入图片描述

iterator循环遍历
   

4、函数

定义函数

如果没有执行return,函数执行完也会返回结果,结果为:undefined
在JavaScript中,函数是一等公民,这意味着函数可以被赋值给变量、作为参数传递给其他函数、或作为其他函数的返回值。此外,函数在JavaScript中也充当构造函数的角色,用于创建对象。

   

调用函数

参数问题:JS可以传任意个参数,也可以不传递参数

不存在参数,如何规避

手动抛出异常来判断

   

在这里插入图片描述

参数存在多个

arguments是一个JS的关键字,代表传递进来的所有参数,是一个数组
(ES6引入)rest获取除了已定义的参数之外的所有参数

   

在这里插入图片描述

5、变量的作用域

在JS中,var定义的变量是有作用域的
var变量在函数体中声明,则在函数体外不可用
在这里插入图片描述
如果两个函数使用相同变量名,只要在函数内部,则不冲突

   

内部函数可以访问外部函数的成员,反之不行
JS中函数查找变量从自身函数开始,由内向外,当内部没有该变量时,会去外部查找

   

局部作用域let

ES6 let关键字,解决局部作用域冲突问题

   

提升变量作用域

规范:所有变量的定义都放在函数的头部,不能随用随定义,便于代码维护。

在这里插入图片描述

全局函数

在这里插入图片描述

6、方法

对象只有属性方法
方法的定义:把函数放在对象里
调用属性: func.name
调用方法:带括号 func.age()

调用方法1
   
调用方法2

其中 func.age()是正确使用
直接getAge()会报错NaN,因为this此时代表的是window,window没有birth属性
this的指向是可以通过apply进行改变的
getAge.apply(func,[]) //此时this指向对象func,getAge方法参数为空所以是[]

   

相关内容

热门资讯

软件炸金花模式创建开房卡/微信... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
安卓系统手机加速器,畅享流畅体... 你有没有发现,你的安卓手机最近有点儿慢吞吞的?别急,别急,今天就来给你揭秘一款神奇的小工具——安卓系...
金花房卡购买平台推荐/斗牛房间... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享受...
微信炸金花链接房卡怎么办理/金... 微信炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房...
哪里有卖微信炸金花房卡/上下分... 微信炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房...
终于找到“微信上玩炸金花冲房卡... 金牛座金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房...
安卓系统12的的手机,新一代智... 你有没有听说?安卓系统12的智能手机已经悄悄地走进了我们的生活,带来了前所未有的惊喜和改变。想象你的...
秒懂教程“微信牛牛群哪里购买房... 新道游是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享...
一分钟推荐“金花房卡在哪有这么... 超稳大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来...
秒懂教程“微信上玩炸金花详细教... 新518牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房...
win7系统下安装安卓系统,W... 亲爱的电脑迷们,你是否曾梦想过在你的Windows 7系统上运行安卓应用?想象那些你爱不释手的安卓游...
ia实测“金花房卡购买渠道/九... 九酷大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
给大家讲解“金花链接房卡找谁买... 新琉璃金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡...
终于找到“哪能购买微信金花房卡... 卡贝大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
炸金花微信建群自己开房卡/微信... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
安卓系统车载导航好用吗,车载导... 你有没有想过,开车的时候,导航系统就像是个贴心的导航员,帮你避开拥堵,找到最顺的路?今天,咱们就来聊...
房卡必备教程“炸金花微信建群自... 道游大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...
一分钟推荐“如何创建金花房间链... 新八戒是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享...
安卓4.3系统有问题,安卓4.... 你有没有发现,你的安卓手机最近有点儿不对劲?是不是觉得系统反应慢,有时候还突然卡住?别急,今天就来聊...
微信群链接牛牛买房卡/可以自己... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...