js介绍-js中的变量和数据类型及相互转换-运算符及表达式

来源:互联网 发布:简述云计算 编辑:程序博客网 时间:2024/05/29 02:01

1、什么是js?
2、如何编写js?
3、如何调试js?

1、什么是js:专门编写网页交互的语言

交互:用户操作->程序处理和响应操作->返回处理结果

js运行于js解释器\引擎 ->解释执行

js的发展历程

1995 网景:领航者 –livescript
sun java
1996 JavaScript1.1 –》ECMA–》ECMAScript
网景-JavaScript
微软-JScript
1999 W3C:DOM标准-专门操作网页的标准
2004

JavaScript=ES+DOM+BOM
API:编程接口

js能做什么:

客户端数据计算
表单输入验证
浏览器事件触发和处理
网页特殊效果
服务器异步数据提交 Ajax

2、如何编写js

1、运行环境

1、浏览器js引擎中
浏览器包括两个引擎
内容排版引擎
脚本解释引擎
2、独立安装的js解释器-node.js

2、编写

1、不需要网页直接在控制台中编写js
Console:专门编写和测试js小程序的地方
console控制台窗口
.的
log():控制台提供的一个功能
接受一个字符串参数并在控制台输出
注:大小写一定区分
2、随网页一起编写
1、在页面创建<script>标签
2、在外部创建.js文件<script>引入
3、任意元素事件属性中
3、调试js
bug:程序中出现的错误
debuger:解决错误方法

变量
数据类型
1、变量

what:内存中存储一个数据的存储空间,并且起一个名字
when:程序中每个数据都需要用变量保存,在使用变量执行
why:让程序更加灵活
how: 声明 赋值 取值
声明:var 变量名;

变量名命名规则:
语义化
驼峰式命名
由数字、字母、下划线
不能以数字开头
不能使用保留字

赋值:变量名 = 数据
变量赋值 本质:新值替换旧值
**注:任何运算都无法修改变量中的值
只有赋值=才能改变**
取值:使用变量名就相当于调用变量中的值

特殊情况:
1、仅声明 未赋值;
2、未声明 取值
ReferenceError:未定义找不到对象
3、未声明 赋值

var 声明
声明提前:在执行代码之前会将所有的var声明提前,提前到当前作用域顶部,集中声明创建,再开始执行程序。
赋值留在原地

2.常量 :一旦创建并初始化后值不可改变的量

const 常量名 = 常量值
声明后必须赋值

3.字面量:

数据类型:内存中存储的不同数据的存储格式;

2大类:

1、原始数据类型:值直接保存在变量本地
Number String Boolean undefined null
Number:专门存储数字的数据类型
String:专门存储字符串的数据类型
Boolean:真|假
undefined:undefined
null:不指向任何地址
2、引用数据类型:值不直接保存在变量本地

Number:

可以是整数,也可以是浮点数(小数)
when:要参与算数计算或比较大小的数据
10
2 01101
8 0,0o
16 0x
NAN:not a number
Infinity
所占空间
64位2进制数字保存
64bit
8bit=1bytes
舍入误差:计算机无法精确计算1/10导致的计算误差

String:

必须带引号
所占空间:unicode
字母 符号127 1字节
汉字 2字节
“hello老师”
字符串一点创建 不可改变
想改变只能用一个新字符串替代旧的字符串

Boolean:表示2选一的时候
undefined:变量未赋值的时候自动赋值
null:

数据类型转换
运算符和表达式

1、数据类型转换

js是一门弱类型语言:
1、js在声明变量的时候不需要规定变量的存储类型;
2、赋值时,动态绝定变量数据类型;
同一变量可先后保存不同数据类型
3、js运算时,会根据需要自动转换数据类型

大类:

1、隐式转换:不需要程序员干预,js自动完成的类型转换
无处不在
仅讨论算数计算中隐试转换
在算数计算中 一切数据都默认转换成数字在计算
**注:在+运算过程中碰到字符串+变为字符串拼接
另一个不是字符串的数据,都会被自动转成字符串**
Boolean:
true->1
false->0
**特殊情况:如果数据无法转换成数字类型
会被转化成NAN
参与任何计算结果永远是NAN**
补:表达式:由数据、变量和运算符组成的公式
默认从左往右 两两计算
任何表达式都有一个运算结果
所以任何表达式都可以当成一个值来用
隐试转换仅影响表达式的运算结果,不会影响变量中存储实际值
2、强制转换:程序员主动调用专门的函数(方法)执行转换
when:隐试转换后的结果不是我们想要的结果时
任意–>String:
1、X.toString();
除null和undefined以外任意对象都有toString();
2、String(X);隐式转换原型
任意–>Number:
1、Number(X);隐式转换原型
专用于将非字符串类型转数字
如果想转字符串要求必须是由纯数字组成的字符串
2、字符串转数字
parseInt(str)
从第一个字符开始依次读取每个字符
只要碰到一个非数字字符就停止
自动忽略开头的空格
转整数
parseFloat(str)
找第一个小数点
转浮点数
Number(X) VS parseInt(str)/parseFloat(str)
true
“12px”
任意–>Boolean
Boolean()隐式转换原型
5值转Boolean是false
“” NAN undefined null 0

这里写图片描述

2、运算符和表达式:
程序:让计算机按照人的想法去执行任务
运算符:程序中模拟人思维运算或判断的符号
表达式:由变量、数据和运算符组成的公式

1、算数运算符:+ - * / % ++ –
%取余(模运算)
++n:表达式返回n自增以后的新值
n++:表达式返回n自增以后的旧值
2、关系运算:将两个值作比较 true false
< >= <= == === !=
在关系运算中默认将所有类型都转换成数字
特殊情况:如果参与比较的两个值都是字符串
依次取出每个字符串的字符PK unicode
**NaN:不等于 不大于 不小于任何值(包括自己)
isNaN(num)专门用来判断 num是不是NaN**

原创粉丝点击