javascript基础

javascript基础

语言基础

hello js

document.write("hello js")

向文档中输入文本,也就是网页中,接着HTML文件向下显示

标签

  • script标签之间
  • script标签内src="js文件路径"

注释

  • // 单行注释
  • /* 多行注释*/

变量

  • var x = 10;
  • x = 10;

调试

  • alert()
  • 浏览器 f12
  • console.log()

基本数据类型

  • undefined 声明了但没有赋值
  • Boolean true false
  • Number
    • 十进制
    • 八进制 012
    • 十六进制 0xA
    • 浮点数
    • 科学计数法
  • 字符串 js中没有字符的概念,只有字符串,单引号,双引号都行
  • 动态类型 一个变量的类型可以随意改变
  • typeof x 判断变量类型
  • null 空对象或者对象不存在

类型转换

  • 伪对象 js的基本类型也是伪对象,他们都有属性和方法
  • 转换为字符串 Number Boolean String都有一个toString方法
  • 数字转换为字符串
    • 默认模式 转换为十进制
    • 基模式 a.toString(2)转换为二进制
  • 转换为数字
    • parseInt parseFloat
    • parseInt("10abs")-->10
    • paeseInt("asd")-->NaN
  • 转换为Boolean
    • 字符串非空为true
    • 数字非0为true
    • 对象非null为true
  • Number()和parseInt()的区别
    • 包含非数字的时候Number会返回NaN,parseInt以非数字开头才会返回NaN
  • String()与toString()的区别
    • String(null)返回"null",null.toString()会报错

函数

function f(x,y){
    return x + y;
}

作用域

  • 没有块作用域

数字运算符

  • +号
    • 当两边都是数字,表示为算数运算符
    • 当任意一边是字符串,表现为字符串连接符

逻辑运算符

  • == 进行值判断 1=="1" ->true
  • === 不仅进行值判断还进行类型判断 1 === "1" ->false

错误处理

  • try catch

对象

Number

  • 通过 new Number() 创建数字对象,与基本数字不同,对象类型的数字拥有更多属性和方法
    • var x = new Number;typeof x --> object
    • var x = 123;typeof x --> number
  • 最值
    • Number.MIN_VALUE
    • Number.MAX_VALUE
  • 表示不是数字
    • var x = new Number(123) -> x = NaN;x == Number.NaN -> false;isNaN(x)-> true
  • 返回一个数字的小数表达
    • var a = new Number(123);a.toFixed(2)->123.00
  • 返回一个数字的科学计数表达法
    • a.toExponential()
  • valueOf 返回一个基本类型的数字

String

  • string与object类型
  • length
  • charAt()
  • concat()拼接
  • indexOf()返回子字符串第一次出现的位置
  • lastIndexOf()返回子字符串最后一次出现的位置
  • localeCompare()比较两段字符串是否相同,0表示相同,1表示不同
  • substring(i,j) [i,j)
  • split("分隔符",返回数组的长度)
  • replace(search,replacement)
    • 默认情况下只替换第一个字符串
    • 全部替换 var regS = new RefExp("a","g");x.replace(regS,"o") || x.replace(/a/g,"o")
  • 所有返回字符串类型的方法返回的都是基本类型string

数组

  • 创建
    • var a = new Array()创建空数组
    • var a = new Array(5)创建长度为5的数组,每个元素都是undefined
    • var a = new Array(1,2,3,4)创建1,2,3,4
  • length获取长度
  • 遍历一个数组
    • 普通for
    • 增强for
  • concat()连接两个数组
  • join("分隔符")得到一个数组元素连接之后的字符串
  • push() pop()在最后的位置插入和删除数据
  • unshift() shift()在最开始的位置插入删除
  • sort()排序
  • 自定义排序
    • function comparator(v1,v2){return v2-v1;}大的放前,小的放后,再调用sort
  • reverse() 反转
  • slice(i,j) 获取子数组[i,j)
  • splice()
    • x.splice(3,2)从位置3开始,删除2个元素
    • x.splice(3,0,1,5) 从位置3开始,删除0个元素,但是也插入1和5

Date

  • new Date() 创建一个表示当前日期的对象
  • getFullYear()返回年份,getMonth()返回月份(0开始)getDate()返回日期
  • getHours() getMinutes() getSeconds() getMilliseconds()

Math

  • Math.E Math.PI
  • Math.abs() min() max() pow() round()小数四舍五入
  • Math.random()*100 0-100之间随机数

自定义对象

BOM 浏览器对象模型

window

  • 获取文档显示区域的高度和宽度
    • 内部 window.innerWidth,window.innerHeight
    • 外部 window.outerWidth,window.outerHeight

history

  • 返回上一次访问
    • history.back()
  • 返回上n次访问
    • history.go(-n)

你可能感兴趣的:(javascript基础)