JS基础篇(三)

JavaScript三部分
  • ECMAScript(ES):规定了JS的一些基础核心的知识(变量,数据类型,语法规范,操作语…)3/5>>6/7
  • DOM:document object model(文档对象模型),里面提供了一些方法和属性,可以让我们操作里面的元素。
  • BOM:browser object model(浏览器对象模型)里面提供了一些属性和方法,可以让我们操作浏览器。

变量和常量

变量:值可以变
常量:值不可变

//JS中定义变量方式:
//var 变量名=数值;(在ES6中定义变量用let)
   var num = 10;//让原来的num的值修改为10;
   var str = 'MAX';
//
//JS中定义常量方式:
//const 常量名=数值;
   const num = 10;
   const str = 'MAX';

JS命名标准

 常用驼峰命名法命名;
常见的命名:

info:信息(information)
init:初始化(initialization)
add / insert :添加,创建
create :插入
rm (remove) / clear / del / delete: 删除
update: 修改
get / query / select: 查询获取
….

注:命名时可以使用数字,字母,_ ,$,但是数字不能放在第一位。

    var $xxx;//一般都是应用Jquery获取到的值
    var _xxx;//一般这种情况代表变量是一个全局或者是公用的变量

JS中的数据类型

  • 基本数据类型(值类型)
    number:数字
    string:字符串
    Boolean:布尔
    null:空对象指针
    undefined:未定义
  • 引用数据类型
    • object 对象数据类型
        {}普通对象
        []数组
        /^&/正则
        ……
    • function 函数数据类型

注:
1.单引号和双引号包裹起来的都是字符串
2.布尔类型只有两个值(true, false)
3.null , undefined
5.对象在{}内
6.数组在[]内
正则表达式:/^-?([1-9]\d+))(.\d+)?&
……


JS如何检测数据类型(4种)

  • typeof:检测数据类型的运算符
  • instanceof:检测某个实例是否属于这个类
  • constructor:获取当前实例的构造器
  • Object.prototypye.toDtring.call:获取当前实例的所属类信息

1.typeof

使用 typeof 检测,返回的结果是一个字符串,字符串中包含的内容证明了值是属于什么类型的。

    typeof num=12;//num=>"number"
    typeof 12;//"number"

[局限性]:

 1.typeof null 不是’null’而是’object‘:null虽然是一个单独的数据类型,但它原本意思是空对象指针,浏览器使用typeof 检测的时候会将其按照对象来检测。
 2.使用 typeof 无法具体分析出到底是正则还是数组,因为返回的结果都是’object’。


布尔

Boolean( )
 将其他数据类型的值转换为布尔类型:

只有”0,NaN,空字符串,null,undefined“五个数据值转换为布尔类型的false,其余的都会变为true

补充:“ != ” 不等于,同时 “ ! ” 还表示取反,“!!”表示对取反取反,也就是等同于Boolean类型


字符串

单引号和双引号包裹起来的都是字符串
常用方法:

charAt charCodeAt
substr substring slice
toUpperCase to LowerCase
split
replace
match
……


number数字

零,正负数,小数,都是number;
JS中多增加了一个number类型的数据:NaN

 NaN:

不是一个数,但是属于number类型
NaN==NaN ; // false,NaN 和其他任何值都不相等

 isNaN():

用来检验当前这个值是否是非有效数字,如果不是有效数字则检测结果为 true ,反之有效数字为 false。

    isNaN(0)   //=>false
    isNaN(NaN) //=>true
    isNaN('12')//=>false
//当我们使用isNaN检测值的时候,检测的值不是number类型的,浏览器会先把默认的值转换为number类型,再去检验
    isNaN([])//=>false
    isNaN(true)//=>false

 Number():

把其他数据类型转换为number类型的值

Number('12')  // 12
Number('12px')// NaN;在使用Number转换的时候只要字符串中只出现一个非有效的数字字符,最后结果都为NaN。

Numbertrue//=>1
Number(false)//->0
Number(null)//=>0
Number(undefined)//=>NaN

Number([])//=>把引用数据类型转化为number,首先需要把引用数据类型转化成字符串(toString),再把字符串转换成number

注:只有全部为有效字符才能转化为数字,否则都会转换为NaN
例如:

Number([12])=>[12]->'12'  '12'->12
Number([12,23])=>[12,23]->"12,23" "12,23"->NaN
Number({laowang})=>NaN
Number({ })=>NaN

parseInt( )

 也是把其他数据类型转换为number和Number,方法在处理字符串的时候有所区别

    Number('12')->NaN;
    parseInt('12px')->12;
    parseInt('12px13')->12
    //提取规则:从左往右依次查找有效数字字符,直到遇见非有效字符为止(无论后面是否还有,都不找了)把找到的转换为数字
    parseInt('12.5px)->NaN

paseFloat( )

 在paseInt的基础上可以识别小数点

paseInt('12.5px')->12
paseFloat('12.5px')->12.5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值