文章目录
- 1.那些高大上的概念术语都是指什么
- 什么是web应用?
- 什么是前台后台?
- 怎么做网页界面呢?
- JavaScript可以应用到什么上面?
- 2.JavaScript实例:
- 3.语言基础
- 变量声明
- 数据类型
- 基本数据类型:
- 引用数据类型:
- 数字格式与算术操作符
1.那些高大上的概念术语都是指什么
什么是web应用?
在浏览器中操作的应用。web应用分为前台和后台。
什么是前台后台?
以qq邮件网站为例
前台:显示在浏览器里电子邮件操作的网页界面
后台:提供用户填写信件的界面,负责发送邮件
怎么做网页界面呢?
HTML:架构
CSS:外观样式
JavaScript:动态改变字体样式,大小,插入表情图案等交互功能。
JavaScript可以应用到什么上面?
前台网页:web浏览器
后台服务器:Node.js 云服务器
单片机和传感器终端:Espruino
2.JavaScript实例:
我们先在浏览器中运行一下:
打开浏览器,按下"Ctrl+Shift+J"快捷键,就打开了JavaScript工具台。
在控制台输入如下代码并enter
alert("hello world");
效果:
在控制台输入如下代码并enter
confirm("你喜欢橘猫吗?");
好了我们看看JavaScript的特点
逐行运行,每次运行后面有一个结果
(undefind表示指令没有返回值)
如果您想要输入多行代码怎么办?
每行结尾按"shift+enter"代表换行
最后"enter"代表运行
上面都是直接在浏览器中输出,那如何在JavaScript控制台输出消息?
这个问题很有必要,这对测试代码很有帮助
很简单,输入代码:
console.log("hello");
这里如果直接用log(“hello”)不行,因为JavaScript内置对象里面存的是指令,我们要通过对象调用它里面的指令而不能直接调用。
对象里面可以存储函数(方法),数据值(属性)
并且用点号调用
3.语言基础
变量声明
var 变量名称;
不区分字符和字符串,所有文本数据都是字符串(string)类型
var Name = "Jimmy";//双引号单引号均可
var PP = "j";//双引号单引号均可
多个变量可以在一个var语句中声明
var name= "Jimmy",age=18;
数据类型
动态类型语言,可以自动转换类型,声明变量时无需转换类型
var x ="hello";
x=12;//这也造成性能瓶颈,因为它多了辨别变量数据类型这一步
基本数据类型:
存放单一数据
Boolean,Number,String,Null,Undefined
var obJ = null;//没有指向任意对象的引用
var ref //预留存储器空间但没给值,Undefined
查看数据类型:
typeof
引用对象的变量,typeof返回object。
console.log(typeof "hello");//输出string
console.log(typeof 6);//number
console.log(typeof 6.66);//number
console.log(typeof true);//boolean
console.log(typeof undefined);//undefined
console.log(typeof null);//object
引用数据类型:
可以通过引用存储器空间实现存储多个变量
array,object,function
数字格式与算术操作符
’+'操作符
var num=123+456;console.log(num);//579var str=123+"456";console.log(str);//123456
’number’和’parseInt’,'praseFloat’
Number("6.66")//6.66
Number("jym666")//NaN
Number("1e2")//100
Number("0xcc")//204(十六进制转十进制)parseInt("6.66")//6
parseInt("jym666")//NaN
preseInt("666jym")//666
preseInt("1e2")//1
preseInt(0xcc)//204preseFloat("1e2")//100
还有一个精度问题:
console.log(0.1+0.2==0.3)//false
因为0.1换成二进制会产生无限循环的数字,而计算机数字存储空间有限,所以产生误差
解决办法:限制精度
var num=0.1*0.2;
console.log(parseFloat(num.toPrecision(12)));//精度缩减小数点后十二位输出0.02
比较操作符:
/*
== 判断是否相等
=== 判断是否相等且数据类型也相同
!= 判断是否不相等
!== 判断是否不相等或数据类型不同
*/
console.log(8==9)//false
console.log(8=='8')//true,'8'会先被转换成8
console.log(null==undefined)//true,预设不区分
console.log(8==='8')//false,类型不同
console.log(null===undefined)//false,类型不同
console.log(8!=='8')//true,类型不同
逻辑操作符
类似c语言的不再赘述
&& || !
特殊的:能以单一语句判断并赋予变量初始值
undefined || 13
//13''||'1.1.1.1'
//"1.1.1.1"var ip=ip||'1.1.1.1';
ip
//"1.1.1.1"
进制表示方法
十六进制 (0x开头)hex
二进制(0b)binary
八进制(0o)octal
在控制台输入上述进制,直接转换成十进制
位操作符
不管怎么操作,最终直接转十进制输出
& 位and
| 位or
^ 位xor
>> 1
>>2
<< 1
<< 2
条件操作符:
var msg=(age<18)?"请您离开":"欢迎观赏";
//相当于
if(age<18){
msg="请您离开";
}else{
meg="欢迎观赏";
}