javascirpt高级程序设计(笔记一)

1:语言基础

(1):区分大小写
(2):标识符:必须以数字,字母,下划线,$组成,开头不能是数字,采用驼峰命名(第一个单词首字母小写,其他的首字母大写)
(3):注释:但行注释 //,多行注释 /* */
(4):严格模式:在脚本的开头加上"use strict"开启了严格模式,也可以单独给一个函数开启严格模式,是在函数第一行写上"use strict".
(5):分号和代码块:一般 不加分号不会报错,编译器会自己判断加上,可能会出现错误建议都加上,代码块建议一条语句也加上,可以让内容更清晰
(6):变量:用来保存数据的,可以通过var,let,const修饰

var修饰的变量:
作用域:
在函数内部用var声明的变量,叫局部变量,在函数里面没有用var声明的变量叫做全局变量.在严格模式下,没有声明的变量就给他赋值会报错ReferenceError

变量提升:
就是在声明之前使用变量,不会报错.

可以同时用var声明多个同名的变量

var声明的全局变量,会挂载到window对象的属性中

let修饰的变量:
只在块级作用域中有效,不具备变量提升

不能在同一个块级作用域中,同时用let声明同一个变量

let声明的全局变量,不会挂载到window对象的属性中,但是他会存在,注意不要在全局作用域中同时用var和let声明同一个变量

const修饰变量
和let一样只在块级作用域中有效,不具备变量提升,必须赋初值.
推荐:
一般情况下最好是使用const,如果你知道后期数据会变的话就使用let

数据类型
数据类型有两种引用数据类型和基本数据类型
引用数据类型:
null,undefined,boolean,String,number,symbol
基本数据类型:
object,function

typeof运算符:

  • typeof null会认为是一个object的对象

undefined类型
表示用let或者var声明了,但是没有赋值.这个类型主要是为了区别对象指针为null和数据没有赋值的区别.

这个表示了声明了没有赋值,和没有声明就引用变量是有区别的,没有声明就对变量进行应用,会报错.

没有声明的变量,和声明了没有定义的变量采用typeof运算符是"undefined"

Null类型
Null一般语义是存一个空的对像
Null==undefined是ture

Boolean类型
布尔类型有两个参数一个是false和true,可以通过Boolean()将其他的数据类型转换成boolean.

数据类型转换成true转换成fase
Booleantruefase
String非空字符串空的字符串
Number非零数字(包括无穷大,无穷小)0,NaN,无穷大,无穷小,-0
Object任意对象null
undefined不存在undefined

Number类型
表示整数和浮点数

整数:
有十进制,8进制(0开头,在严格模式下不支持),16进制0x开头

浮点数:
内存空间占整数的两倍

数值的范围:
最大的数字范围Number.MAX_VALUE
最小的数字范围Number.MIN_VALUE
超过最大值Infinity,Number,NEGATIVE_INFINITY
超过最小值-Infinity,Number,POSITIVE_INFINITY

NaN不是数值,任何数除以0为NaN,分母为0或者-0,为Infinity和-Infinity

isNaN()函数判断是不是数值类型的.

数值类型的转换:
Number()可以将任意的数据类型转换成数字
(1):布尔:true转换成1,false转换成0
(2):数字:直接返回
(3):null:0
(4):undefined:NaN
(5):字符串:
如果全是数字,并且有正负转换成十进制
如果以ox开头转换成十六进制数
如果是小数转换成小数
如果是其他的类型转换成NaN
如果是空串转换成0
(6):对象:
通过valueof()方法将对象转换成字符串,然后进行上面的转换

parseInt()将字符串转换成整形
(1)如果字符串开头不是数字,正负号的话会转换成NaN,中途遇到了不是数字的话就进行返回
(2)可以有第二个参数设置,进制数

parfloat()将字符串转换成浮点类型
(1)他会检查字符串是十进制会忽略掉字符串开头的0,是16进制会返回0,因为他不处理16进制
(2)解析到字符串的末尾或者是解析到一个无效的字符数字为止,意味着第二个.以后的内容会被忽略

String类型
(1)字符串可以使用单引号,双引号,反单引号标识
(2)字符串的特点,不可变
(3)字符串的转换:
tostring(),可以将字符串,数字,boolean类型,对象转换成字符串,null和undefine没有tostring()方法.tostring()可以接收一个数字,可以将一个数字转换成n进制数

String()可以将null转换成"null",可以将undefined转换成"undefined",其他的类型和tostring()一样转换.

可以通过将一个数字加上空格进行转换成字符串

(4) 模板字符串
可以有换行符,跨行定义字符串
可以使用插值${}
最终会转换成字符串,也可以通过tostring()转换成字符串
插值中可以调用函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值