JS初学基础

返回函数多个数字

returnmax,min

• 两个相同的函数后面的会覆盖前面的函数

• 在Javascript中实参的个数和形参的个霰可以不一致

1.如果形参过多会自动填上undefined (了解即可)

2.如果实参过多那么多余的实参会被忽略(函数内部有一个arguments,里面装着所有的实参)

• 函数一旦碰到return就不会在往下执行了函数的结束用return

作用域

全局作用域和局部作用域

整个JS文件就是全局

函数的变量是局部

局部变量或者块级变量,没有let声明的直接赋值当全局变量看

在能访问到的前提,先局部,局部没有找全局

匿名函数

在API部分进一步深化

立即执行函数
html 复制代码
<script>
//let num = 10
//let num 20
//(function (){
// console.log(11)
//})()
(function(){})()


(function(x,y){
console.log(x+y)
})(1,2)


//1.第一种写法
(function (x, y) {
console.log(x + y)
let num = 10
let arr = []
})(1,2);
//(function(){})();
//2.第二种写法
1/(function ({}());
(function (x, y) {
let arr = []
console. log(x + y)
}(1,3));
//(function(){})()
//(function(){}())
</script>

简单案例:输入秒数,转换为时分秒

html 复制代码
<script>
age = age + 1
// L用户输入
let second = +prompt('请输入秒数:')
// 2•封装函数
function getTime(t) {
// console.log(t)//总的秒数
//3、转换
//小时:h=parseInt(总秒数/60/60%24)
//分钟:m=parseInt(总秒数/60%60)
// 秒数: s = parseInt(总秒数 % 60)
h = parseInt(t / 60/ 60% 24)
m = parseInt(t / 60 % 60)
s = parseInt(t % 60)
h=h< 10?'0'+ h : h
m=m<10?'0'+m:m
s = s< 10? '0'+ s: s
// console.log(h, m, s)
return`转换完毕之后是${h}小时${m}分${s}秒`
}
let str = getTime(second)
document.write(str)
</script>

逻辑中断

html 复制代码
<script>
function fn(x, y) {
x = x || 0

y = y || 0
console.log(x + y)
}
fn(l, 2)
fn()
</script>

不仅是形参,还有页面滚动时获取

短路

短路:只存在于&&和II中,当满足一定条件会让右边代码不执行

|------|-------------|
| 符号 | 条件 |
| && | 左边为false就短路 |
| || | 左边为ture就短路 |

原因:通过左边能得到整个式子的结果,因此没必要再判断右边

转换bool型

记忆:' '、0、undefined、null、false、NaN转换为布尔值后都是false,其余则为 true

隐式转换:

1 .有字符串的加法+1,结果是"1"

2 .减法-(像大多数数学运算一样)只能用于数字,它会使空字符串""转换为0

3 . null经过数字转换之后会变为0

4 . undefined经过数字转换之后会变为NaN

javascript 复制代码
console.log('' - 1)                    //-1
console.log( 'pink老师'-1)             //NaN
console.log(null + 1)                 //1
console.log(undefined + 1)            //NaN
console.log(NaN + 1)                  //NaN
相关推荐
像风一样的男人@18 分钟前
python --基于scp的文件传输助手
开发语言·python
一条破秋裤18 分钟前
SDIO Wi‑Fi 设备的驱动向insmod + 反向rmmod
开发语言·php
m0_6399069424 分钟前
Java 重写 Override 与重载 Overload 区别、访问修饰符、static 关键字
java·开发语言
Evand J26 分钟前
【MATLAB例程】平面下,5基站对待定位点的定位。基于距离辅助下的AOA。完整代码下载链接
开发语言·matlab·平面·定位·导航·测距·aoa
GIS数据转换器38 分钟前
基于CIM的城市智慧供热监管服务平台
java·大数据·开发语言·人工智能·后端·物联网·struts
小卿噢43 分钟前
同样是插 10 万行,最快的写法比最慢的快 103 倍
前端
weixin_417396831 小时前
星级酒店境外电视频道怎么合法接入?合规要点与核对清单
开发语言·前端·php·1024程序员节·综合布线
熊猫钓鱼>_>1 小时前
鸿蒙PC构建实战:hvigor modelVersion 降级 + schema 清理 + ArkTS 编译三连坑完整复盘
开发语言·华为·ai编程·harmonyos·openharmony·数据·ai生成
hiahiahia1231 小时前
Structured Output
前端·人工智能
FRing031 小时前
JavaScript入门到精通三十一(原型继承、原型链)
开发语言·前端·javascript