js

函数特点:封装代码,代码的重用性强!

在js中,函数分为两种:自定义函数、系统函数(内置函数)

系统函数里还包括预定义函数。

预定义函数是指不属于任何对象,他们的使用也不需要通过任何对象来应用。全局的函数

1.eval() 将字符串数字转换成数字,可进行直接执行js代码

2.isNaN() 判断参数是否是NaN,如果是,返回true,否则返回false。

Number.isNaN() 不会进类型行转换,只有参数是NaN才会返回true,否则返回false。

3.parseInt()/parseFloat() 将数字字符串转化为一个数值

4.isFinite() 用来确定参数是否是一个有限数值. 如果是有限数值,返回true,否则返回tfalse。(NaN 、Infinity、-Infinity....)

    进行类型转换

Number.isFinite()判断参数是否是一个有限制数值

    不进行类型转换

5.encodeURI()参数参数:字符串

    把字符串转义为计算机编码
    编码

自定义函数

function 函数名(){  函数体; }
说明:
     function       定义函数关键字,
    “函数名”      是你给函数取的名字,
    “函数体”      是为完成特定功能的代码。
      函数名              必须是唯一的

函数定义好后,不能自动执行,需要调用它,直接在需要的位置写函数名

匿名函数 function函数名()

把整个匿名函数作为一个值赋值给变量,该变量就是函数名

IIFE立即调用函数表达式 :(function(){函数体;})

全称: Immediately Invoked Function Expression
自我执行的函数
调用 :  ();
  (+,—,!,~)function(){函数体;}

return 跳转语句 终止函数 找出口
arguments 参数对象 所有函数内部都有
arguments.length实参个数
arguments.callee 函数本身
fun();递归 函数自己调用自己
预编译:代码解释之前

全局预编译 (普通函数 整体提前;变量 仅仅声明提前)

    第一步创建GO对象(global Object) 。
    第二步找变量声明,将变量声明作为GO对象的属性值传进去,赋值为undefined。
    第三步找函数声明(不要找函数表达式),赋值于对应的GO属件值。

作用域:变量起作用的范围
    1.全局作用域
    2.局部作用域(函数作用域)

在函数外[声明]的变量我们称为全局变量
在函数内[声明]的变量我们称为局部变量
变量未声明直接使用,默认自动为全局变量
先在自己的作用域里查找这个变量,如果找到就是该值,如果找不到,去上级作用域里查找...
声明提前,赋值不提前

局部预编译

    .1.创建AO (Active Object) 对象
     2.找函数的形参和变量声明,将变最声明和形参作为AO属性名,值为undefined,
     3.将实参值和形参统一
     4.在函数休里面找函数声明(只找函数声明,不找函数表达式),值赋予函数体

闭包:有权访问另外一个函数作用域里变量的函数(大白话:函数里套函数)

    优点:
        1.保护函数内的变量安全,防止全局变量污染问题
            2.在内存中维持一个变量


    缺点:
        由于闭包会使得图数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。
        使用不当可能引起内存泄漏

IIFE :模仿快作用域

    (function(形参1, 形参2, ..{ })(实参1, 实参2,..)
    +(function(形参1, 形参2, ..{ })(实参1, 实参2,..)
    -(function(形参1, 形参2, ..{ })(实参1, 实参2,..)
    !(function(形参1, 形参2, ..{ })(实参1, 实参2,..)
    ~(function(形参1, 形参2, ..{ })(实参1, 实参2,..)

可以通过 .value  来获取值的标签:input  textarea  select

document.getElementById(""); 通过id值来获取元素对象

oDiv.innerText 识别文本

oDiv.innerHTML 识别标签

className 获取button上的类名

对象

本地对象

| 内置对象

### Math 对象
        Math.PI
        | 圆周率
        Math.ceil()
        | 向上取整
        Math.floor()
        | 向下取整
        | 返回值比参数小或者等于
        Math.round(num)
        | 返回与num最接近的整数,四舍五入
        Math.max(x,y)
        | 返回一组数中的最大值
        Math.min
        Math.random()
        | 随机数
        | Math.random()//[0,1)取值是小数
        | Math.round(Math.random()*10)//[0,10] 取值是整数
            【m,n】
            | Math.floor(Math.random()*(n-m+1)+m)

Date 对象

        语法
        | var mydate= new Date()
        .toLocaleString()
        | 本地时间,年月日时分秒
        .toLocalDateString()
        | 年月日
        .toLocalTimeString
        | 时分秒
        get/set
            .getFullYear()
            | 年份
            .getMonth()
            | 月份,从0开始
            .getDate()
            | 日期
            .getHours()
            | 时
            .getMinutes()
            .getSeconds()
            .getMilliseconds()
            .getTime()
            | 距离1970年的毫秒数

        .getDay()
        | 星期,从0开始,星期日为0
        Date.now()
        new Date()
        | 当前时间

字符串对象

var strObj = new String();
strObj.length 字符串长度
索引 [0, strObj.length-1]

访问字符 strObj[索引]
方法
strObj.indexOf(参数1,参数2)

从参数2的位置开始查找参数1子串在整个字符串中第一次出现的位置
参数1:必需 查找的子串
参数2:可选 开始查找的位置 若省略,从0开始查找
返回值:如果能查找到子串,返回子串所在的位置,如果查找不到该子串,返回-1
strObj.replace(参数1,参数2) 用参数2替换参数1
参数1:必需 被替换的子串或正则 (若全局替换 添加 g)
参数2:必需 用来替换的字符串 返回值:替换后的字符串

posted @   aureazjl  阅读(219)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示