JavaScript基础
一、了解JavaScript : 1955-liveScript->JavaScript Netscape出品
JavaScript概述:轻量级语句(弱语言),单线程语言,脚本语言
JavaScript构成:ECMAScript(基本语法及相关对象)、DOM(文档对象模型)、BOM(浏览器对象模型)
优势:适用几乎全部浏览器(v8引擎)
二、JavaScript基础:
1)书写方式:
1.内部形式(适合代码少):<script>console.log('你好 世界')</script> 推荐放<html>下面
2.外部形式(推荐): 引入<script src=“js文件位置”></script>
再在对应js文件里console.log('你好 世界')
3.内联形式(少用):<a href="链接">去链接</a>
<a href="链接1" onclick=“alert('你好 世界')‘’>去链接1</a> //onclick点击事件
2)变量定义(var)
var num=‘sum’
1.!数字 字母 下划线 $ 组成 (不可数字开头)
2.驼峰命名:(大驼峰)第一个字母就大写
(小驼峰)第二个单词字母大写
3.不能使用关键词,
3)注释:
ctrl+/ 当行注释
alt+shift+a 多行注释
4)数据类型:
number类型(数值)(数值显示蓝色)
string字符串类型(‘’ “”)(字符串显示黑色)
boolean布尔类型(true fault )
undefined类型 未定义(未给值)
null空类型 (显示object)(undefined是null对象扩展(父子关系))
typeof检测类型:null空类型 (显示object)
5)类型转化:var str = number1.toString()//number转string类型(string>number 隐式转化 tostring)
number类型转化:
当数值无法被解析NaN
parseInt截取整数
parseFloat截取一个小数点
isNaN是NaN(not a number)返回true不是返回false
无穷大
var max = infinity
无穷小
var min = -infinity
Boolean转化:
String: 非空字符串为true, 空字符串为false
Number: 非0数值为true, 0或者NaN为false
Object: 对象不为null则为true, null为false
Undefined : undefined为false
Boolean转number:
(false 0 true 1)
undefined和null转number:
undefined->NaN
null->0
6)运算符和表达式
算数运算+ - * / % ++ --
// + string和number 连接操作 string>number 自动转string
console.log('123'+1); //1231
// - * / % 全部自动转number
console.log('12'-1); //11
console.log(true -1);//0
console.log(undefined - 1);//NaN
console.log(null -1);//-1
console.log(true*3);//3
%大数取余小数,得到余数,小数取余大数得小数
++ -- 分前置后置 前置先执行++--操作在执行对应代码 后置先执行对应代码再执行++--操作
逻辑运算&& ||
比较运算符 > < >= <= == != ===(类型和值一模一样) >== <==
!==
赋值运算符 = += -= /= *= %=
位运算
<< >>二进制移位
~~去小数
!!执行顺序有括号先括号,再乘除取余 再比较
三元运算符(三目运算符)
?true:false
number对应的方法
保留小数的方法 toFixed
练习:
- 代码1: 数字字符串参与运算的情况1
1 console.log(1 + "2" + "2");
很明显输出的是122,并且:
console.log(typeof (1 + "2" + "2"));
输出的是string类型.上面的结果是毫无疑问的.
- 代码2: 数字字符串参与运算的情况2
console.log(1 + +"2" + "2"); console.log(typeof (1 + +"2" + "2"));//string
代码2中的第一个输出的是32, 因为+"2"会默认把字符串2转成number类型的2,所以再跟后面的字符串相加等到最终的32,并且,输出的仍然是字符串类型.
- 代码3: 字符串参与运算
1 console.log( "A" - "B" + "2");//NaN2 2 console.log( "A" - "B" + 2);//NaN
第一行输出的是NaN2,是因为 "A" - "B"输出的是NaN, 当NaN与字符相加的是,NaN会默认转成字符串类型,即"NaN",所以最终结果是NaN2
第二行输出的是NaN,毫无疑问,只是为了跟第一行做对比.
- 代码4: undefined 和 null 参与运算
1 console.log(undefined + 2); 2 console.log(null + 2);
这里也涉及到了默认转换问题, undefined和null与数字相加会先默认转成数字类型,然后再进行相加.此时,我们需要看一个代码:
1 console.log(Number(undefined));//NaN 2 console.log(Number(null));//0
结果就出来了,要记住,undefined默认转成数字类型是NaN,而null默认转成数字类型是0,这也是undefined和null的其中一个区别.
所以,综上所述,代码4分别输出的是NaN 和 2.
本文来自博客园,作者:苏沐~,转载请注明原文链接:https://www.cnblogs.com/sumu80/p/16518552.html