JavaScript基础

来源:互联网 发布:怎么样加入淘宝 编辑:程序博客网 时间:2024/06/05 15:44

JavaScript

  • 概念
    • 一种具有面向对象能力的、解释型的程序设计语言
    • 基于对象和事件驱动并具有相对安全性的客户端脚本语言
    • 主要目的是,验证发往服务器端的数据、增加 Web 互劢、加强用户体验度等
  • 组成
    • ECMAscript:语法标准
    • DOM:文档对象模型,描述了处理网页内容的方法和接口
    • BOM:浏览器对象模型,描述了与浏览器进行交互的方法和接口

基本语法

  • 注释
    • 单行注释:用//起头
    • 多行注释:放在/* 和 */之间
    • 兼容 html 注释方式“<“!– –”>”
  • 标识符
    • 命名基本和javaz一致
  • 变量
    • 声明:var
    • 变量只声明不赋值,其值为undefined
    • 声明时不加var,创建全局变量
    • 不能重新声明一个已存在的变量,但是如果在重新声明时就赋值,是允许的,会覆盖前面的值
    • 弱语言,变量没有类型,可以赋予各种类型的值
    • 在script标签中定义的变量,属于全局变量
  • 数据类型
    • 有五种简单的数据类型:Undefined、Null、布尔、数值和字符串
      • 数 值(Number): 整数和小数(比如 1 和 3.14)
        • Infinity、-Infinity超过了表数范围,出现 Infinity(正无穷)或者-Infinity(负无穷)
        • isFinite()函数可以确定是否超出范围
        • NaN表示非数值(Not a Number),是一个特殊的值
        • NaN 不等于任何值,包括它本身,因为它不是一个值,NaN 与任何数(包括它自己)的运算,得到的都是 NaN
        • isNaN 方法可以用来判断一个值是否为 NaN
        • parseInt()、parseFloat()、Number()转化为数值
      • 字符串(String): 字符组成的文本(比如”Hello World”)
      • 布尔值(Boolean):true(真)和 false(假)两个特定值
      • Undefined:表示“未定义”或不存在,即此处目前没有任何值
        • 表示一个没有内容的值,转为数值时为NaN
        • 声明变量而没有赋值,会出现Undefined
        • 调用带参的方法,却没有传参数,参数会默认为Undefined
        • 函数没有返回值,那返回值默认为Undefined
        • 而如果用没有声明的值,就会报错
      • Null:表示空缺,即此处应该有一个值,但目前为空
        • 表示空值,表示一个空对象引用,转化为数字时为0
        • typeof操作返回Object
        • 与Undefined相等
    • 一种复杂数据类型:Object
      • 对象(object) : 各种值组成的集合
      • 对象(object)
      • 数组(array)
      • 函数(function)
  • typeof 操作符
    • 用来检测数据类型
    • typeof null 返回的是 object 字符串
    • typeof 函数返回function字符串

js类型转换

比较运算

  • ==和!=
    • 只比较值是否相等
  • ===和!==
    • 会比较类型+值

区块

  • js的区块,即大括号,不构成单独作用域
  • 区块内外变量是同一个作用域

遍历数组

三种方法

  • 普通
    • for(var i=0; i<=数组.length-1; i++){}
  • 下标
    • for(var 下标(名称任意) in 数组名){ 数组名[下标]是获取元素}
  • 元素
    • 数组名.forEach(function(element,index){})

函数

  • 概述
    • 功能代码快,函数也是对象
  • 声明
    • function 函数名([参数列表]){}
    • var 变量名 = function ([参数列表]) {}
      • 函数的参数只写变量名即可,名称任意,即不用写var
      • js 中的函数没有重载,同名的函数,会被后面的函数覆盖
      • 允许有不定数目的参数
  • 参数
    • 实参可以省略,其值默认为undefined
    • 若函数形参同名(一般不会这么干):在使用时以最后一个值为准
    • arguments 对象: 获取所有的参数
      • 由于 JavaScript 允许函数有不定数目的参数,所以我们需要一种机制,可以在函数体内部读取所有参数。这就是 arguments 对象的由来。
      • arguments 对象中存放了调用该函数时传递的参数值。
      • 只有函数被调用时,arguments 对象才会创建,未调用时其值为 null
    • 函数名.name:函数名
    • 函数名.length:形参个数
    • 函数名.toString(): 返回源码
  • 作用域
    • 注意局部变量和全局变量
    • 同名时,就进原则
  • 函数调用
    • 函数名([实参])
  • 函数的地位
    • 可以赋值给一个变量
    • 可以作为参数和返回值

字符串常用函数

  • charAt(idx):返回指定位置处的字符
  • indexOf(Chr):返回指定子字符串的位置,从左到右。找不到返回-1
  • substr(m,n):返回给定字符串中从 m 位置开始,取 n 个字符,如果参数 n 省略,则意味着取到字符串末尾
  • substring(m,n):返回给定字符串中从 m 位置开始,到 n 位置结束,如果参数 n 省略,则意味着取到字符串末尾
  • toLowerCase():将字符串中的字符全部转化成小写
  • toUpperCase():将字符串中的字符全部转化成大写
  • length: 属性,不是方法,返回字符串的长度

数学函数

  • Math.random():随机数
  • Math.ceil():向上取整
  • Math.floor():向下取整

日期函数

  • getFullYear()年,setYear()
  • getMonth()月,setMonth():特别注意,java系语言中,月份从0开始,与显示的月份差1,计算时要注意
  • getDate()日
  • getHours()时
  • getMinutes()分
  • getSeconds()秒
  • toLoacaleString():可根据本地时间把 Date 对象转换为字符串

编码与解码

  • 编码
    • encodeURI() –>编码参数
    • encodeURIComponent()–>编码所有
  • 解码
    • decodeURI()
    • decodeURIComponent()

对象

  • 概念
  • 一种无序的数据集合,由若干个 “ 键值对 ”(key-value)构成
  • 创建对象
  • var 对象名 = {}
  • var 对象名 = {键:值,键 2:值 2,…}
  • var 对象名 = new Object()
  • var 对象名 = Object.create(null)
  • 特点
  • 对象中以 键:值 对形式存放数据,多个键值对用逗号隔开,但是最后没有逗号
  • 对象的所有键名都是字符串,所以加不加引号都可以
  • 对象中可以存放任意类型的数据,如:方法、对象、数组、布尔等
  • 对象中的属性可以随意添加
  • 操作属性可以使用点(.)、中括号([]),使用[]操作属性,属性名要放在引号中,如:obj[“name”]
  • 一个对象有多个引用时,其中一个对其发生变化,另外也可见

this关键字

  • 概述
    • 代表函数运行时,自动生成的一个内部对象,只能在函数内部使用
    • 那就是 this 指的是,调用函数的那个对象
  • 在函数中使用 this
    • 属于全局性调用,代表全局对象 Global,通过 window 对象来访问
  • 在对象的方法中使用 this
    • 对象中的函数使用 this,代表当前的上级对象
原创粉丝点击