JavaScript语法 1、JavaScript的注释和分号 1、注释
- 单行注释://
- 多行注释: /**/
- 语句的结束使用分号
- 区分大小写
- 变量、函数、属性的名字,或者函数的参数,都叫做标识符
- 标识符的命名规则
- 由字母、数字、下划线(_)或者($)组成
- 不能以数字开头
- 不能使用关键字、保留字等作为标识符
- 变量:松散类型
- 可以用来保存任何数据类型的数据
- 每个变量仅仅是一个用于保存值得占位符
- 变量的声明要是用var操作符
- 语法:var 变量名
- 变量赋值
- 声明的同时进行赋值
- 先声明后赋值
- 省略var声明的变量会变成***全局变量***
- 不推荐省略var操作符来定义全局变量
// 声明保存用户名的变量
var userName;
// 变量赋值
userName = "vino";
// 声明变量的同事进行赋值
var age = 20 ;
var email = "vino@outlook.com";
// 一次声明多个变量
var userName="vino",age= 20,email="vino@outlook.com",address;
3、数据类型 1、typeof
typeof(userName);
console.log(typeof(userName));
//打印出来时的是string类型
2、undefined
- undefined类型只有一个值,即就是其本身
- 一般而言,不存在需要显示的把一个变量设置为undefined值得情况
- 当声明了一个变量,但是没赋值,这个变量的类型就是undefined
console.log(typeof(address));
//打印出来的是undefined
3、null
- null值表示一个空对象指针
- 如果定义的变量准备在将来用来保存对象,那么最好将变量初始化为null而不是其他值
- undefined值是派生自null值得,所以undefined == null ,结果返回true
- 表示的是整数和浮点数
- NaN:即非数值,是一个特殊的数值
- 任何涉及NaN的操作都会返回NaN
- NaN与任何值都不相等,包括它本身
- 检测参数是否是一个非数值,返回的结果使布尔值
- 该方法接收到一个参数的时候会尝试将参数转换为数值,在进行检测是否为非数值
console.log(isNaN("abc"));
//打印出来的是true
var age = "12";
console.log(isNaN(age));
//打印出来的是false,isNaN将age转换成了数值,在进行检测
2、数值转换 1、Number()
- 强制转换成数值类型,可用于任何数据类型
- 如果强制转换不了,返回的结果就是NaN
var name = "vino";
var age = "20";
console.log(Number(name));
//NaN
console.log(Number(age));
//20var a = Number("123.23a")//NaN
2、parseInt()
- 转换的参数必须是数字开头,否则得到结果使NaN
- 会忽略字符串前面的空格,直至找到第一个非空格字符
- 这个函数会提供两个参数,第二个参数表示转换时使用的基数(即多少进制)
var topval = parseInt("12px");
//12
var a = "abc123" //NaN
var b = parseInt("0xf",16) //转换成十六进制
3、parseFloat()
- 从第一个字符开始解析每一个字符,直到遇见一个无效的浮点数字符为止
- 除了第一个小数点有效外,与parseInt的第二个区别在于他始终忽略前导的0
var a = parseFloat("12.43px");
//12
5、String
- 用于表示有零或者多个16位Unicode字符组成的字符序列,即字符串
- 可以由(’ ')或者(" ")表示
var message = "hello mayday";
1、字符串转换 1、str.toString()
- 将str转换成字符串
- 返回的是str的一个副本
var ids = 123321;
var idString = ids.toString();
2、String()
- 在我们不知道要转换的值是不是null或者undefined的时候,可以使用String()函数强制转换成字符串
- 他可以将任何类型的值转换成字符串
var ids ;
console.log(String(ids));
//undefined
6、Boolean
- 用于表示真假的类型,即true表示真,false表示假
- 除0之外的所有数字,转换为布尔类型都为true
- 除“ ” 之外的所有字符,转换为布尔类型都为true
- null和undefined转换都为false
var isStudent = true ;
var isChild = false ;
var a = 1;
console.log(Boolean(a));
//true
console.log(Boolean(0));
//false
4、表达式
- 将同类型的数据,用运算符号按照一定的规则连接起来的,有意义的式子称为表达式
- +、-、*、/
- % 取余数
- 自动转换,会先尝试转换成number,再进行计算
- ++a、a++
- –a、a–
- 简单赋值操作符:=
- 复合赋值操作符:+=、-=、*=、/=、%=
a+=5// a=a+5
3、比较操作符
> < >=<======!=!==
- == 只比较值是否相等
- === 全等,比较值得同时还要比较***数据类型***是否相等
- != 不相等
- !== 不全等,比较值得同时还要比较***数据类型***是否不相等
var x=10,y="10";
x==y //true
x===y//false
null == undefined //true
null === undefined//false
4、三元操作符
- 条件?代码1:代码2
- 条件成立执行代码1、否则执行代码2
var score = 54;
var result = (score>60)?"及格":"不及格";
//不及格
5、逻辑操作符 1、与 &&
- 只要一个条件不成立,返回false
- 在有一个操作数不是布尔值得情况下,遵循以下规则
- 如果第一个操作数隐式转换类型后为true,则返回第二个操作数
var str = "vino",a=30; console.log(str && a); // 返回30
- 如果第一个隐式转换类型后为false,则返回返回的第一个操作数
var str =" ",a=30; console.log(str && a); //返回str " "
- 如果有NaN,返回NaN
- 如果有null ,返回 null
- 【javascript|前端基础知识-JavaScript语法】如果有undefined,返回undefined
- 如果是NaN、null、undefined 的进行操作,谁在前面返回谁
- 如果第一个操作数隐式转换类型后为true,则返回第二个操作数
- 只要一个条件成立,返回true
- 在有一个操作数不是布尔值得情况下,遵循以下规则
- 如果第一个操作数隐式转换类型后为true,则返回第一个数
- 否则返回第二数
- 如果两个数都是NaN,返回NaN
- 如果两个数都是null,返回null
- 如果两个数都是undefined,返回undefined
- 如果是NaN、null、undefined 的进行操作,谁在后面返回谁
- 无论操作数是什么类型,逻辑非都会返回一个布尔值
推荐阅读
- 操作系统|[译]从内部了解现代浏览器(1)
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- vue.js|vue中使用axios封装成request使用
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- JavaScript|JavaScript之DOM增删改查(重点)
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- JS/JavaScript|JS/JavaScript CRC8多项式 16进制