当前位置:网站首页>作用域-Number和String的常用Api(方法)
作用域-Number和String的常用Api(方法)
2022-06-27 17:34:00 【编程奥特曼.】
什么是作用域?
作用域:变量起作用的一个范围 因为每个变量 都有自已对应的生活环境
全局作用域:被script包裹的都可以称为是全局作用域
函数作用域
每个函数 都会生成一个独立的函数作用域
函数作用域内声明的变量 只能在当前函数作用域内使用 在别的作用域访问不到
函数作用域内的函数作用域 属于包含关系 里面的作用域可以访问外面的作用域 但是外面无法访问里面的作用域
同理 全局也无法访问函数作用域 函数作用域可以访问全局
块作用域 认{ } 为域
不存在交集的作用域之间 不能互相访问
// 全局作用域
let a = 1
function zhuque(){
console.log(a);
}
zhuque()
// 函数作用域
function zhuque(){
let a = 123
console.log(a);
}
zhuque()
// 块作用域
if(true){
}
函数作用域内声明的变量,只能在当前函数作用域内使用,在别的作用域内访问不到
function zhuque(){
let a = 123 //声明在 函数作用域
// console.log(b); //爸爸管儿子要,是要不到的
function zhu1(){
console.log(a); //123
// let b = 456
}
zhu1()
console.log(a); //123
}
zhuque()
//不存在交集的作用域之间 不能互相访问
不存在交集的作用域之间 不能互相访问
function zhuque(){
let a = 0
function zhu1(){
let b = 456
}
zhu1()
}
zhuque();
function fn(){
console.log(a);
}
fn()
// 不能把变量返回出去
function zhuque(){
let a = 0
return a
}
let num = zhuque();
console.log(num);
function fn(){
console.log(a);
}
fn()
当我们处于某一作用域里,需要使用变量时,先从自身作用域内查找该变量
如果没有,就往外层作用域查询 外层作用域也没有的话,一直往外层找,直到找到全局作用域
如果全局也没有变量的话,就会报错
let a = 1
function fn(){
let a = 2
console.log(a); //2
{
console.log(a); //2
}
}
fn()
console.log(a); //1
let fn2 = function(){
{
console.log(a); //1
}
}
fn2()
无论什么作用域内 只要没有声明 就直接赋值的 都会成为 window的属性
b = 1
window.b = 1
Number的方法(api)
parseInt():保留整数
parseFloat():保留浮点数
Number.isNaN():判断是不是NaN (返回布尔值)
Number.isFinte():判断是不是有限数字 (返回布尔值)
Number.isInteger():判断是否是整数,(返回布尔值)
toFixed():保留几位小数
1.返回整数,(Number可以省略)
let num = 3.12344
console.log(Number.parseInt(num));//3
console.log(parseInt(num));
1.字符串转数字,非数字部分砍掉
let num = "123px"
console.log(parseInt(num)); //123
console.log(parseInt("a23b")); //NaN
2.返回浮点数,(Number可以省略)
let num = 3.1548
let num1 = "123.12px"
console.log(Number.parseFloat(num));// 3.1548
console.log(parseFloat(num1));
3.判断一个值是否是NaN,返回布尔值
let num = NaN
if(Number.isNaN(num)){
console.log(1);
}
if(Number.isNaN("abc" - 1)){
console.log(1);
}
4.判断是否是有限数字,(可以省略Number)
let num = 123
console.log(Number.isFinite(num)); //true
5.判断是否是整数,返回布尔值(不可以省略Number)
let num = 3.1548
let num2 = 123
console.log(Number.isInteger(num));//false
console.log(Number.isInteger(num2));//true
6.toFixed() 保留几位小数
let num = 3.12344
console.log(num.toFixed(2)); //3.12
console.log(+Number(3.1525).toFixed(3));
字符串的常用API
1.charAt():获取某一字符串项 参数传序号,取字符串对应序号的字符
let str = "zhuque520"
console.log(str.charAt(2));//u
console.log(str.charAt(str.length-1));//0
2.charCodeAt():取字符串对应序号的unicode编码
let str = "zhuque520"
console.log(str.charCodeAt(str.length-1));//48
console.log(str.charCodeAt(0));//122 返回字符串的unicode编码值
3.String.formCharcode(),通过uniclde排序值,返回对应的字符
console.log(String.fromCharCode(122)); //z
4.substring(strNum,endNum) 截取字符串 从startNum 截取到endNum (左闭右开)
返回截取成功的新的字符串
let str = "zhuque520"
console.log(str.substring(0,3));//zhu
5.slice和substring用法一样的(都是左闭右开)
let str = "zhuque520"
console.log(str.slice(0,3));//zhu
6.*substr:截取字符串,按照长度截取
let str = "zhuque520"
console.log(str.slice(0,3));//zhu
7.*trim()清除左右两侧空格,中间不管
let str = " 用户群体 "
console.log(str.trim());
8.replace(str,req)替换字符串,只会替换第一个检索到的字符串项
let str = "zhuque520"
console.log(str.replace("zhuque","姚哥"));
9.split() 把字符串切割成数组,接受参数,为切割点(按什么去切割)
let str = "12345"
// let arr = str.split() //['12345']
// let arr = str.split(" ") //按照空格 ['12345']
// let arr = str.split("")//按照空字符 ['1', '2', '3', '4', '5']
let arr = str.split("3") //['12', '45']
console.log(arr);
边栏推荐
- The IPO of Yuchen Airlines was terminated: Guozheng was proposed to raise 500million yuan as the major shareholder
- 原创 | 2025实现“5个1”奋斗目标!解放动力全系自主非道路国四产品正式发布
- 驾驭一切的垃圾收集器 -- G1
- Market status and development prospect of resorcinol derivatives for skin products in the world in 2022
- TIA博途_基于SCL语言制作模拟量输入输出全局库的具体方法
- Online text batch inversion by line tool
- 一对一关系
- China's Industrial Software Market Research Report is released, and SCADA and MES of force control enrich the ecology of domestic industrial software
- “我让这个世界更酷”2022华清远见研发产品发布会圆满成功
- Current market situation and development prospect forecast of global 3,3 ', 4,4' - biphenyltetracarboxylic dianhydride industry in 2022
猜你喜欢

binder hwbinder vndbinder

Introduction to deep learning and neural networks

《第五项修炼》(The Fifth Discipline):学习型组织的艺术与实践

明美新能源冲刺深交所:年应收账款超6亿 拟募资4.5亿

Keras深度学习实战(12)——面部特征点检测

Keras deep learning practice (12) -- facial feature point detection

PCB线路板蛇形布线要注意哪些问题?

爬取国家法律法规数据库

Running lantern experiment based on stm32f103zet6 library function

Bit. Store: long bear market, stable stacking products may become the main theme
随机推荐
labelimg使用指南
Cloud native database: the outlet of the database, you can also take off
Market status and development prospect forecast of global 3-Chloro-1,2-Propanediol industry in 2022
Market status and development prospect forecast of global 4-methyl-2-pentanone industry in 2022
过关斩将,擒“指针”(下)
maxwell 报错(连接为mysql 8.x)解决方法
全面解析零知识证明:消解扩容难题 重新定义「隐私安全」
PCB线路板蛇形布线要注意哪些问题?
如何封裝調用一個庫
清华徐勇、段文晖研究组开发出高效精确的第一性原理电子结构深度学习方法与程序
Hikvision tools manager Hikvision tools collection (including sadp, video capacity calculation and other tools) a practical tool for millions of security practitioners
9.OpenFeign服务接口调用
[cloud based co creation] the "solution" of Digital Travel construction in Colleges and Universities
MySQL读取Binlog日志常见错误和解决方法
International School of Digital Economics, South China Institute of technology 𞓜 unified Bert for few shot natural language understanding
OpenSSL client programming: SSL session failure caused by an obscure function
Google Earth Engine(GEE)——ImageCollection (Error)遍历影像集合产生的错误
Bit.Store:熊市漫漫,稳定Staking产品或成主旋律
Workflow automation low code is the key
谈谈线程安全