概述
1.javascript基本概念
js是一种解释型语言,可以边运行边编译,html的架构https://www.html5rocks.com/en/tutorlals/internals/howbrowsweswork/
javascript严格区分大小写
javascript由三部分组成,ECMAScript,DOM,BOM
ECMAScript:欧洲计算机制造协会标准
DOM:js操作网页上元素(标签)的api
BOM:js操作浏览器的部分功能的api
js有行内样式、内嵌样式和外链样式
需要用js操作页面元素时,不能将javascript代码直接写入head中(src引入也一样),因为浏览器默认从上至下解析代码,当解析到head中js代码时,body里的代码还未解析,无法执行动作。
解决:把在head中的js代码加入到window.onload = function(){代码}中去
window.onload界面全部被加载完成后,才会加载其中的语句 这也是js代码通常写在body最低端的原因
2.javascript常见输出方式
2.1 弹窗形式输出
“alert” 如果alert内容不是数字,需要用单引号或者双引号括起来 弹窗中有确定按钮
”confirm“ 弹窗中有确定、取消按钮
“prompt” 弹窗中有按钮和输入框,且返回值是字符串类型
2.2 网页内容区域输出
“document.write” 直接写到网页内容界面
2.3 开发者工具控制台输出
“console.log” 写进控制台
“console.warn” 警告输出
“console.warn" 错误输出
3.ECMAScript学习
3.1 js常量
1.整型常量 整数,
2.实型常量 小数
3.字符串常量 单/双引号括起来的内容
4.布尔常量 true/false
5.自定义常量 const 常量名称 = 常量取值 不可更改
js中单独出现的数字也是常量,不可以更改 .toString不行
3.2 js变量
1. var 变量名称;
这时浏览器会为此变量分配一个存储空间
2. 变量使用
变量名称 = 变量数值;
3. 获取变量数据
变量第一次赋值称为变量初始化;若变量没有初始化,则存储undefined
初始化方式:先定义变量再初始化;定义变量的同时进行初始化
可以同时定义多个变量 var 变量一,变量二;
变量数值保持相同,可以对多个变量进行赋值 变量一=变量二=变量三=xxxx;
变量数值不同,赋值:var 变量一 = xxx,变量二 = xxx;
变量之间可以互相赋值,变量一 = 变量二; 将变量二的值拷贝一份给变量一
若两次var 定义统一变量名,则变量数值以最后定义为准
在ES6之前先使用变量再定义变量,不会报错 因为浏览器解析js代码前的预处理:
将当前js代码中所有变量的定义和函数的定义放在全部代码最前面
问题解决:用let代替var
var a = 3 与 a = 3的区别
- 在函数作用域内 加 var 定义的变量是局部变量,不加 var 定义的就成了全局变量
- 使用var定义的变量会发生变量提升
- 在全局作用域下,使用 var 定义的变量不可以 delete,没有 var 定义的变量可以 delete。也就说明隐含全局变量严格来说不是真正的变量,而是全局对象的属性,因为属性可以通过 delete 删除,而变量不可以。
3.3 标识符
标识符只能由字母、数字、下划线和$组成,数字不能做开头;标识符不能是ES中的关键字或保留字;标识符一般都采用驼峰命名法;
4.数据类型
在JS中一共有基本数据类型和引用数据类型两大类,又有六种数据类型
基本数据类型:
-
Number 数值 整数以及小数
-
String 字符串 单/双引号括起来的数值就是字符串类型
-
Boolean 布尔 true和false
-
Undefined 未定义
-
Null 空值
-
symbol(ES6)
引用数据类型:
-
Object 对象
操作符 typeof 可以用来检测数据类型;
4.1 转换为数值类型
字符串转换为数值类型:
-
Number(常量或变量);类似于string();函数,根据输入的数值重新生成一个
-
如果字符串中没有数据,转换的结果为0
-
如果字符串中的数据不仅仅是数值,转换结果为NaN : not a number,但数值类型为number
布尔类型转换为数值类型:
- Number(常量或变量);
- 若布尔类型为true,转换结果为1;false转换结果为0
null类型转换为数值类型:
- Number(常量或变量);
- 转换结果为0;
undefined类型转换为数值类型:
-
Number(常量或变量);
-
转换结果为NaN,但数值类型为number
数学符号+或—变量/常量 方式转换
本质上 也是调用了number函数;但“-”减号转换会改变数值的正负性
let str = “123”;let num = +str;转换结果为123,number类型
let str = “123”;let num = -str;转换结果为-123,number类型
parseInt(需要转换的字符串)/parseFloat(需要转换的字符串)
-
parseInt把字符串内的整数部分提取出来,转换为数值类型;例如3.14将被转换为3,12mm将被转换为12;
-
parseFloat可以提取小数;
-
两种方式都是由左至右提取数值,遇到非数值会立即停止;停止时若没有遇到数字,返回NaN;
-
两种方式都会将输入当做字符串处理,例如输入布尔类型true,会被认为是字符串true四个字母
parseInt函数:
parseInt(string, radix)
4.1 转换为字符串类型
Number、Boolean、Undifned和Null类型都可以转换为字符串类型;
-
对于Number和Boolean类型来说,可以通过 变量名称.toString()的方式来转换,拷贝转换不会影响原有数据类型
-
String(变量名称);可以转化所有的基本数据类型;String可以将常量复制转化为字符串类型,但.toString()不可以
-
变量或者常量+单/双引号即可转化为字符串类型 value+“” 所有基本数据类型都可以转换
4.3 转换为布尔类型
boolean(常量/变量)函数;
- 字符串类型转换为布尔类型;转换时,当字符串为空时,转换为false,不为空(包括space和tab)转换为true;
- 数值类型转换为布尔类型;转换时,只有数值为0以及NaN时,才会转换为false;
- null类型转换为布尔类型;转换为false;
- undefined类型转换为布尔类型;转换为false;
4.4 判断数据类型
typeof;instanceof;
-
undefined和null的区别
undefined代表定义未赋值;null代表赋值但值为null,null可以作为值赋给对象
-
什么时候为变量赋值为null?
初始赋值
将变量赋值为null,表明将要赋值为对象,代码严谨;结束前赋值
一个对象赋值给了某个变量后,将此变量赋值为null可以释放对象,使得对象成为垃圾对象被垃圾回收器回收 -
严格区分变量类型和数据类型?
数据类型:基本类型和对象类型;变量类型(变量的内存中值的类型):基本类型(保存基本类型数据)和引用类型(其中保存的是对象的地址)
var c = {} //将对象赋值给c后,c存储的是对象的地址,但typeof c输出object,这时会根据地址值访问到指向的数据 var b = {} console.log(b === c);//false,因为引用地址不同
最后
以上就是故意夏天为你收集整理的js基础1 输入输出方式 数据类型的全部内容,希望文章能够帮你解决js基础1 输入输出方式 数据类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复