基本概念 上
- 语法
- 数据类型
- 流程控制
- 函数
语法
- 区分大小写
- 标识符
- 字母、下划线、美元开头
- 其它字符可以是字母、下划线、美元或数字
- 驼峰式
- 注释
- //单行注释
- /*/多行
严格模式
“use strict";
区别后续指出- js文件 一开始声明
- function 里声明,指定某个函数应用严格模式
语句
- 感觉没什么好说的需要注意自己写的代码规范。一般来说,代码规范和注释绝对是最重要的,虽然自己做的不太好,哈哈哈。
关键字和保留字
变量
var message;
message undefined。var message = "hi";
之前字符串、字符都没有区别用单引号还是双引号。- 局部变量 和全局变量,注意变量的作用域。且变量提升问题,写代码过程中,感觉烦躁的地方 :一是很难去维护全局变量,二是变量命名。
数据类型
Undefined 未定义
typeof undefined // "undefined"
undefined == undefined // true
Boolean 布尔值 不是等于0和1
- true
- false
- Boolean(变量)
| 数据类型 | true | false |
| :-------: | :---: | :--------: || Boolean | true | false || String | 非空字符串 | “ ”空字符 || Number | 非零 | 零 || Object | 任何对象 | null || Undefined | 不适用 | undefined` |String
- 字符串和字符,我以后字符串用“ ”,字符用 ‘ ’ 好区分
- 转义字符 \n、\t、\b、\r、\ \、\'、\"等
- 工作中常用的其实是对于字符串的分割
Number
var intNum = 55;
var octalNum = 070 ; // 八进制56
在严格模式下无法使用八进制,会导致js引擎出错。然而书上没说十六进制是否也是,经测试,十六进制是可以使用的。八进制和十六进制都是变成十进制进行数值计算的。浮点数 最高精度为17位小数
var floatNum = .1 ;
不推荐var floatNum = 1.;
解析为1var floatNum = 10.0 ;
解析为10var floatNum = 3.125e7 ;
31250000if( a + b == 0.3){ //error,浮点数永远不要进行这样的操作 alert("you got 0.3");}复制代码
极大值Infinity或者极小值-Infinity, isFinite() 函数可以确定某个数字是否在最大和最小之间。
NaN(not a number)任何数除以0会返回NaN以及任何对NaN进行操作返回的值都会是NaN,实际上 0/0 是 NaN ,其它的是Infinity 或者 -Infinity。NaN 与任何值都不相等
alert( NaN == NaN ) //false
。//isNaN() 函数 isNaN(NaN) //trueisNaN(10) //falseisNaN("10") //false 转换为10isNaN("blue") //true isNaN(true) //false 转换为1复制代码
数值转换 Number()、Number()、parseFloat()
//Number()var num1 = Number("Hello world!"); //NaNvar num2 = Number(""); //0var num3 = Number("000011"); //11var num4 = Number(true); //1//Number()var num1 = parseInt("1234blue"); //1234var num2 = parseInt(""); // NaNvar num3 = parseInt("0xA"); // 10(十六进制数)var num4 = parseInt(22.5); // 22var num5 = parseInt("070"); // 56(八进制)var num6 = parseInt("070"); // 70 (十进制)var num7 = parseInt("0xf"); // 15 (十六进制)// 按进制var num1 = parseInt("10", 2);var num2 = parseInt("10", 8);var num3 = parseInt("10", 10);var num4 = parseInt("10", 16);//parseFloat()var num1 = parseFloat("1234blue");//1234 var num2 = parseFloat("0xA"); //0var num3 = parseFloat("22.5"); //22.5 var num4 = parseFloat("22.34.5"); //22.34var num5 = parseFloat("0908.5"); //908.5var num6 = parseFloat("3.125e7"); //31250000复制代码
复制代码
```
Object 对象或是null
var o = new object();//创建对象
- 对象都有构造方法constructor
- hasOwnProperty(propertyName) 对象是否有什么属性
- isPrototypeof(object) 某个对象是否为对象的原型
- propertyIsEnumerable(propertyName) 是否可枚举
- toLocaleString();对象的字符串表示 与执行环境相对
- toString() 对象的字符串表示
- valueOf() 返回对象的字符串、数值或是布尔值表示
Null
表示空对象指针
typeof null //object
如果定义的变量准备用来存放对象的话,最好初始化为null。检查null的时候可以看到是否依旧存在了一个对象的引用
undefined 派生自 null ,
null == undefined //true
欢迎个位小伙伴 关注我的公众号 moomoocode 一起学习前端。