初级js概括

给你一囗甜甜゛ 提交于 2019-12-04 16:43:15


JavaScript的历史

liveScript -> JavaScript -> JScript -> ECMAScript

javascript是一种运行在浏览器的 弱类型、多范式、动态脚本语言

  • 静态语言(java/c/C++)先编译后执行

JavaScript包含什么?

  • ECMA js的语法规则部分 if while
  • DOM 文档对象模型 DOM定义对应的接口,浏览器做具体实现
  • BOM 浏览器对象模型 BOM定义对应的接口,浏览器做具体实现 最高是window.location.href

JavaScript的运行环境是什么?

  • 浏览器(js解析引擎chrome:V8)
  • nodejs平台运行

浏览器中的JavaScript可以做什么?

  • 操作DOM
  • 操作BOM
  • 表单验证
  • 发送ajax请求
  • 页面特效

浏览器中的JavaScript不可以做什么?

  • 操作文件
  • 操作数据库
  • 接收请求
  • 操作系统底层

JavaScript与ECMAScript的关系

JavaScript 就是 ECMAScript 的一种实现。
一种弱类型的多范式的脚本语言。

chrome浏览器解析过程

  • html/css : webkit布局引擎,完成布局和渲染
  • JavaScript : V8解析引擎,解析js代码并执行
  • 中间层: 负责调配上下层以及硬件层: 网卡/硬盘

数据类型

  • 基本数据类型
    • 数字
    • 字符串
    • bool
  • 复合数据类型
    • 对象
      • 单体对象(Math)
      • 内置对象(Array)
      • 自定义对象
  • 空类型
    • null
    • undefined

语 句

  • 条件语句
  • 循环语句
  • 分支语句
  • return语句
  • continue
  • break

== 与 ===

前者比较内容、有隐式转换
后者比较内容和类型

装箱 与 拆箱

装箱:将基本数据类型包装成其对应的复合数据类型
拆箱:将复合数据类型转换成其对应的基本数据类型

sort方法参数fn

  • 如果fn的返回值,大于0,就交换a和b的位置
  • 大于0就不交换
  • 等于0就保持其相对位置

类型转换

  • 数字->字符串:toString String '' new String()
  • 字符串->数字:Number parseInt(parseFloat) new Number() *1( /1 )
    • 性能上: *1 ( /1 ) > Number > parseInt ( parseFloat) > new Number()
  • 数字 与 bool
    • 0 -> false
    • 非0 -> true
    • bool值 -> 数字
    • false -> 0
    • true -> 1
  • 字符串 与 bool
    • ‘’ -> false
    • 非空字符串 -> true
    • false -> ‘false’
    • true -> ‘true’
  • 其他类型 转换 bool
    • 空类型 -> false
    • 对象 -> true

调试器的介绍

string对象常用方法

1> 截取字符串 :  substring substr slice
2> 分割字符串 :  split       返回数组    
3> 替换          :  replace       返回一个新的字符串
4> 检索字符串 :  indexOf  search
5> 拼接          :  concat        返回一个新的字符串
6> 大小写转换 :  toLowerCase  toUpperCase
7> 匹配           :   match

数组对象的常用方法

1>  push
2>  pop
3>  unshift
4>  shift
5>  concat
6>  splice
7>  slice
8>  join
9>  sort
10> reverse
11>  indexOf
12> map
13> forEach

栈结构 与 队列结构

栈结构: 先进后出
队列   : 先进先出

Math对象

Math.PI === 3.1415926
1>  sin( angle )   参数为 弧度
2> cos( angle )
3> floor
3> ceil
4> random
5> abs
6> sqrt
7> power( x, y )

对象相关概念

  • 概念:
    • 无序的键值对集合 {name: ‘tom’, age: 18} 一个具体事物的抽象
  • 创建方式
    • a: 直面量
    • b: 构造函数
    • c: 工厂模式: 比作一个小汽车的生成工厂,只需要将制造小汽车的材料送达工厂,那么工厂就输入一辆小汽车。
      好处:new 或 不 new 都能正确地返回 用户想要的对象。

值类型 与 引用类型

  • 存储逻辑: 值类型 -> 栈;引用类型 -> 堆
  • 参数传递:
    • 值类型;拷贝值
    • 引用: 拷贝指针

DOM操作属性与方法

  • 属性

    • parentNode: 获取父节点
    • firstChild : 获取第一个子节点
    • nextSibling : 获取下一个兄弟节点
    • previousSibling
    • innerHTML: a 获取当前节点下的所有内容,返回类型为 字符串;b 设置当前节点的内容
    • childNodes:获取当前节点的所有子节点
  • 方法: 都要通过parentNode去调用

    • <parentNode>.appendChild( node );
    • <parentNode>.insertBefore( newNode, node )
    • <parentNode>.removeChild( node );
    • <parentNode>.replaceChild( newNode, node );
    • <node>.cloneNode( true | false );
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!