IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JS知识点 通俗易懂且全面!!!!! -> 正文阅读

[JavaScript知识库]JS知识点 通俗易懂且全面!!!!!

JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。
作用: 验证发往服务器端的数据、增加 Web 互动、加强用户体验度等。
JavaScript与java之间的关系:
    雷锋与雷峰塔
    老婆与老婆饼
    周杰与周杰伦
    印度与印度尼西亚...
JavaScript 的组成 :
    ECMAScript 核心语法
    BOM 浏览器对象模型
    DOM 文档对象模型

js的基础使用方式;
    行内js : js代码定义在html元素标签上
    内部js : 通过script标签对定义在html中
    外部js : 定义在外部的一个js文件中,通过script标签引入

注意:
    一个script标签对只能用要不引入外部js,要不定义内部js代码

位置:
    可以定义在html中的任意位置
    建议:
        1.head中
            一幕了然,便于后期维护
            有可能获取不到元素
        2.body结束之前
            肯定能够获取到每一个元素
            不便于观察

常见调式

1.alert 弹出框
    最先执行
    不推荐做调试使用
2.document.write("在文档页面中写入内容")
    当页面内容加载完毕之后,再触发document.write的执行,会覆盖原页面

3.console控制台输出  -> 推荐使用
    console.log()
    console.info()
    console.error()
    console.warn()

变量

? 存储一个数据
  数组 : 存储多个数据

  变量的定义:
      通过var关键字声明
      1)声明的同时赋值
      var 变量名 = 赋值;
      2)先声明后赋值
      var 变量名;
      变量名 = 赋值;

      3)一行中通过定义多个变量

注意:
  js中的变量的类型由值决定
  js是一门弱类型语言,java是请强类型语言
  js变量不赋值存在默认值 undefined
  变量的作用域提升:
      把当前的通过var定义的变量的声明提升到当前作用域的最上面
  在js中变量的定义可以省略var关键字,但是就不存在变量的作用域提升

数据类型

简单数据类型
           Number 数值型 -> 蓝色
               整数  小数
               NaN not a number
                   1)直接赋值
                   2)通过运算无法得到一个正确的结果 NaN
           String 字符串 -> 黑色
               可以通过一对'',或者一对""定义字符串
               可以包含0~n个字符
               如果字符串中出现特殊字符,可以通过转义字符进行转义 \

           Boolean 布尔型 -> 蓝色
               true
               false

           Null  空 -> 灰色
               1)直接赋值null
               2)获取不到元素得到null

           Undefined 未定义 > 灰色
               1)直接赋值undefined
               2)变量已声明未赋值就为undefined

           Function 函数型
               function 函数名(参数列表){
                   函数体;
               }

       复杂数据类型
           对象型 {}
           键值对的集合
           key : value
           每个键值对之间使用,分隔
           键与值之间使用:分隔
           value可以为任意类型的值

类型判断

typeof 判断数据类型
    typeof 数据
    typeof(数据)
    返回数据类型的小写字符串表现形式

类型转换

端隐式类型转换 | 自动
    在进行一些其他操作运算的时候,目的不是为了发生类型转换,而在运算过程中会默认自动发生类型转换,这种类型转换成为隐式类型转换
    一般为四则运算 + - * / ..

显示类型转换 | 强制
    任意类型都可以转换为一下三种类型 : String  Number  Boolean
   1. Number(数据)
   2. String(数据)
   3. Boolean(数据)

注意: 对象类型,函数类型不参与类型转换

1.String(数据)
    相当于在数据的两添加一对引号
2.Number(数据)
  String
      '' 空串                   -> 0
      ' ' 空格字符串             -> 0
      '123' 纯数字字符串         数字
      '123abc' 非纯数字字符串    NaN

  Boolean
      false       ->0
      true        ->1

  Null                -> 0
  Undefined           -> NaN
3.Boolean()
  String
      ''         false
      ' '        true
      其他字符串  true

  Number
       0,NaN      ->false
      非0数字      ->true

  Null            ->false
  Undefined       ->false

数组

数组 : 存储多个数据
   可变长,长度根据跟随数据的增删动态的改动
   索引,可以根据索引操作数组中的数据
   数组的索引可以跟随数据的改动进行动态修改
   如果数组存在,索引位置存在,但是没有赋值,默认undefined
   js中的数组中可以存放任意类型的数据

  创建方式:
    1.字面量的创建方式 [数据1,数据2...] -> 推荐
    2.new Array() 空数组
    3.new Array(值1,值2...)


  数组的长度: 数组名.length
  数组的索引 : 从0开始,每次+1

  操作数组中的数据:
    跟随索引操作
    数组名[索引值]

数组常用方法

    slice   截取(切片)数组,原数组不发生变化
     1个参数   起始索引,默认截取到最后
     2个参数   起始索引    结束索引   结束索引位置不包含
    splice        剪接数组,原数组变化,可以实现前后删除效果
      1个参数  起始索引   实现删除与截取的效果
      2个参数  起始索引  删除|截取个数  实现删除与截取的效果
      3个往上  起始索引  个数   从第三个参数开始后面所有的参数为要替换的新数据    替换,截取

函数

函数 : 定义功能的实现
  函数声明 :
   function 函数名(参数列表){
       函数体;
       return 返回值;
   }

 函数的调用:
   1)函数名(实参)  -> 执行函数中的代码
   2)把函数声明转为函数表达式进行自调用
       转换方式: 在函数声明的开始位置添加!,~,+,-

 函数表达式
   var 变量名 = function 函数名(形参){

   };

 函数的调用:
   1)变量名(实参);
   2)在函数的最后直接添加()进行自调用

  注意:
       1.在js中所有的函数都存在返回值,没定义返回值默认undefined
       2.形参与实参可以不一一对象,如果没有对应的实参,形参的默认值undefined
       3.函数表达式中的函数名一般省略不写,不可用来调用函数,只有在发生递归的时候有用
作用域 : 函数
块: {} 具有语义化的特点

函数的作用域提升 : 把函数声明方式定义的函数提升到当前作用域的最上面
变量的作用域提升 : 把通过var定义的变量的变量的声明,提升到当前作用域的最上面

注意:
  js中的函数可以任意嵌套

内置对象

Arguments   只在函数内部定义,保存了函数的实参
    操作数组的方式操作arguments对象
 Array             数组对象
 Date              日期对象,用来创建和获取日期
   // 获取日期
  ? getFullYear()     年
  ? getMonth()    月
  ? getDate()        日
  ? getHours()    时
  ? getMinutes()      分
  ? getSeconds()      秒
  // 设置日期
  ? setYear()
  ? setMonth()
  ? setDate()
  ? setHours()
  ? setMinutes()
  ? setSeconds()
  ? toLoacaleString()  转换成本地时间字符串
  注意:
     getMonth():得到的值:0~11(1月~12月)
    setMonth():设置值时0~11
    toLocaleString():可根据本地时间把 Date 对象转换为字符串,并返回结果。
 Math              数学对象
? ? Math.random()     随机数
  ? Math.ceil()       向上取整,大于最大整数
  ? Math.floor()      向小取整,小于最小整数String
  String            字符串对象,提供对字符串的一系列操作
    ? charAt(idx)     返回指定位置处的字符
    ? indexOf(Chr)    返回指定子字符串的位置,从左到右。找不到返回-1
    ? substr(m,n)     返回给定字符串中从m位置开始,取n个字符,如果参数n省略,则意味着取到字符串末尾。
    ? substring(m,n)   返回给定字符串中从m位置开始,到n位置结束,如果参数n省略,则意味着取到字符串末尾。
    ? toLowerCase()       将字符串中的字符全部转化成小写。
    ? toUpperCase()       将字符串中的字符全部转化成大写。
    ? length         属性,不是方法,返回字符串的长度。

对象

对象 Object
       {}
        键值对的集合
        键 : 值
        键值对之间通过 ,进行分隔
        所有的键默认都是字符串  ""
        如果key符合标识符的命名规范.可以省略""
        value可以为js中任意类型
 
    操作对象的属性:
        根据key获取value
        1)对象名.属性名
        2)对象名["属性名"]
 
    js中对象的创建方式:
        1.字面量的创建方式  {}
        2.new Object() 空对象
 
    JSON : JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
    易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率
 
  JSON 与 JS 对象的关系
    JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
    

  常见的json数据:
        '{"name": "John Doe", "age": 18, "address": {"country" : "china", "zip-code": "10000"}}'
        key都是通过""定义的字符串
        value : 数值型,字符串,对象{},数组[],boolean,null
   
    js对象与json串之间的转化问题
    序列化 : 将对象转为可存储或者可传输的数据的形态的过程
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 21:57:59  更:2021-08-28 21:58:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 4:41:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计