子舒的博客

有关 js 函数,方法的一些补充总结

数据类型,构造函数,原型和原型链的一些讲解补充

一、数据类型

1.5 个基本类型

string number boolean undefined 未定义 null 值为空 symbol 表示一个符号,符号类型是唯一的并且是不可修改的

最常见的还是前三种,字符串,数字,布尔值

2.常见的引用类型

引用类型是一种数据结构,用于将数据和功能组织在一起

对象-Object, 数组-Array, 函数-Function, 正则-RegExp, 日期-Date 等

二、函数

1.什么是函数?

  1. 具有独立功能的代码块,在 js 中使用 function 关键字定义函数
  2. 让代码结构更加清晰,提高代码可用性
  3. js 函数的分类:自定义函数和系统函数

2.自定义函数

有一种匿名函数,没有名字的函数,创建闭包,避免造成全局变量的污染

匿名自执行函数

  1. 概念:匿名函数的定义完成后立即执行,执行函数表达式
  2. 作用:实现闭包和创建独立的命名空间
  3. 使用:分组操作符 (),void 操作符,~操作符,! 操作符等等
  4. 使用场景:函数表达式,对象属性,事件,事件参数,返回值
  5. 定义完匿名函数后,一定要调用
// 函数表达式
window.onload = function() {
    let funcobj = function() {
        alert("函数表达式中的匿名函数")
    }
    funcobj();
}
// 对象属性
window.onload = function() {
    let obj = {
        name: function() {
            alert('对象属性中的匿名函数')
        }
    }
    obj.name();
}

3.内置函数

放在全局下面叫做函数,放在对象里面被叫做方法,对象的方法

  1. 常规函数
alert() // 弹出框
confirm()   // 弹出一个确认框
prompt()    // 弹出一个输入框
isNaN()     // 判断是否为数字
parseInt()  // 将字符串或浮点数转换为整数
parseFloat()    // 将字符串转换为整数或浮点数
eval()      // 计算表达式的结果
  1. 数组函数

for循环遍历数组

var arr = [1,2,3,4];
for(var i = 0; i<arr.length; i++) {
    console.log(arr[i])
}

// 输出 1,2,3,4

通过for in遍历数组

var arr = [1,2,3,4];
for (var i in arr) {
    console.log(arr[i]);
}

// 输出 1,2,3,4
// 增加
unshift()   // 添加元素在数组首部,返回值是数组长度
push()      // 添加元素在数组尾部,返回值是数组长度
conat()     // 连接两个数组,返回值是连接后的数组
    var arr1 = [1];
    var arr2 = [2];
    let arr = arr1.concat(arr2);
    console.log(arr); // [1,2]

/*****************************************/
// 删除
pop()       // 删除数组最后一个元素,返回值是删除的元素
shift()     // 删除数组第一个元素,返回值是删除的元素
splice(a,b) // 删除指定位置a后的b个元素,返回值是删除的元素
slice(a,b)  // 删除从a位置到b位置之间的元素

/*****************************************/
// 查找
indexOf()   // 判断数组是否包含指定元素,存在返回元素,不存在返回-1
includes()  // 判断数组是否包含指定元素,存在返回true,不存在返回false

/*****************************************/
// 其他
sort()      // 将数组按照规则排序
    var arr1 = [4,5,6];
    var arr2 = [1,2,3];

    var arrAscSort = arr5.sort((a, b) => a-b); // 升序排序
    console.log(arrAscSort); // [ 1, 1, 2, 3, 5, 6 ]
    
    var arrDescSort = arr5.sort((a, b) => b-a); // 降序排序
    console.log(arrDescSort); // [ 6, 5, 3, 2, 1, 1 ]

reerse()    // 数组反转
    var arr = [1,2,3,4,5,6];
    // 直接通过reverse()方法调用
    console.log(arr.reverse())  // [6,5,4,3,2,1]

Array.from()    // 将一串数据转换为数组形式
    var str = '将一串数据转换为数组形式'
    console.log(Array.from(str))
    // ["将", "一", "串", "数", "据", "转", "换", "为", "数", "组", "形", "式"]

Array.isArray() // 判断一个变量是否为数组
    var str = '将一串数据转换为数组形式'
    console.log(Array.isArray(str))
    // false
  1. 日期函数 Date()

获取时间

var time = new Date()
// 获取当前时间
// Fri Nov 13 2020 20:21:35 GMT+0800 (中国标准时间)

getFullYear()   // 获取当前年份
getMonth()      // 获取当月月份  -1
getDate()       // 获取当天日期
getHours()      // 获取当前小时
getMinutes()    // 获取当前分钟
getSeconds()    // 获取当前秒
getMilliseconds()   // 获取当前毫秒
getTime()       // 时间戳-获取1970年至今的毫秒数

设置时间

setYear()       // 设置年份
setMonth()      // 设置月份
setDate()       // 设置日期
setHours()      // 设置小时
setMinutes()    // 设置分钟
setSeconds()    // 设置秒
  1. 数学函数 Math

主要常用的数学函数方法

Math.abs()  // 绝对值
Math.ceil() // 向上取整
Math.floor()// 向下取整
Math.round()// 四舍五入
Math.random()   // 生成0-1之间的随机数

random() 的延伸用法---生成指定位的随机数

function getRandomNumber(min, max){
    return Math.floor(Math.random()*(max - min)) + min;
}
console.log(getRandomNumber(1000, 9999));
  1. 字符串函数
indexOf()   // 查找字符串,返回索引值
    var arr = ["字", "符", "串", "函", "数"]
    console.log(arr.indexOf("串"))  // 2

split()     // 将字符串按照指定的分隔符分割开来
    var str = "字符串函数"
    console.log(str.split(''))      // ["字", "符", "串", "函", "数"]

trim()      // 清除字符串两端的空格
    var str = "   字符串函数   "
    console.log(str)        // [   字符串函数   ]
    console.log(str.trim()) // [字符串函数]

match()     // 按照制定规则查找值
    var str = "字符串函数字符串函数"
    console.log(str.match(/字符串/))    // 字符串
    document.write(str.match(/字符串/)) // 字符串

search()    // 返回字符串

首次出现的位置
    var str = "字符串函数字符串函数"
    console.log(str.search('串'))   // 2

replace()   // 替换指定的字符串
    var str = "字符串函数字符串函数"
    console.log(str.replace('字','函'))
    // 函符串函数字符串函数

substring(a,b) // 从指定位置切割字符串,左闭右开
    // 从索引a,截取到b
    var str = "字符串函数字符串函数"
    console.log(str.substring(0,3)) // 字符串

substr(a,b)    // 从指定位置切指定个字符
    // 从索引a开始,截取b个字符
    var str = "字符串函数字符串函数"
    console.log(str.substr(0,3))    // 字符串

  • LinuxDo
  • Giscus
  • Twikoo
昵称
邮箱
网址
0/500
  • OωO
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ°ο°)ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ"(´っω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • 😂
  • 😀
  • 😅
  • 😊
  • 🙂
  • 🙃
  • 😌
  • 😍
  • 😘
  • 😜
  • 😝
  • 😏
  • 😒
  • 🙄
  • 😳
  • 😡
  • 😔
  • 😫
  • 😱
  • 😭
  • 💩
  • 👻
  • 🙌
  • 🖕
  • 👍
  • 👫
  • 👬
  • 👭
  • 🌚
  • 🌝
  • 🙈
  • 💊
  • 😶
  • 🙏
  • 🍦
  • 🍉
  • 😣
  • 颜文字
  • Emoji
  • Bilibili
0 条评论
没有评论

子舒. Some rights reserved.

Using for Hugo.