JS学习【一】(初识js,变量,数据类型转化, 解释器)
文章目录
- 1.初识js
- 1.1Js的组成
- 1.1.1ES是什么
- 1.1.2DOM(文档对象模型)
- 1.1.3 BOM(浏览器对象模型)
- 1.2 JS的三种写法
- 2.变量
- 2.1 变量的本质和声明变量的本质
- 2.2 变量语法拓展
- 2.2.1 只声明不赋值
- 2.2.2 不赋值不声明
- 2.2.3 只赋值不声明
- 3.数据类型
- 3.1变量的数据类型
- 3.2 数字型
- 3.3 字符串型
- 3.4 布尔类型
- 3.5 undefined(未定义数据类型) 和 null
- 3.6 数据类型转化
- 3.6.1 数字型转字符型
- 3.6.2 字符型转数字型
- 3.6.3 任何类型转Boolean
- 4.解释型语言和编译型语言
1.初识js
1.1Js的组成
1.1.1ES是什么
-
ECMAScript是由ECMA国际进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMAScript语言的实现和扩展。ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
1.1.2DOM(文档对象模型)
1.1.3 BOM(浏览器对象模型)
1.2 JS的三种写法
- 行内式
- 如:
<button onclick="alert('click')" >click me</button>
- 内嵌式
- 如:
<script> alert("click") </script>
- 外部引用
- 如:
<script src="main.js"></script>
2.变量
2.1 变量的本质和声明变量的本质
- 变量的本质是内存中一块空间,用来存储数据
- 声明变量的本质是去内存申请空间
2.2 变量语法拓展
2.2.1 只声明不赋值
var a;
console.log(a);
// =>undefined
2.2.2 不赋值不声明
console.log(b);
// =>报错
2.2.3 只赋值不声明
c = 10;
console.log(c);
// =>10(不推荐)
3.数据类型
3.1变量的数据类型
- JS 是一种弱类型动态语言。这意味看不用提前声明变量的类型,在程序运行过程中,类型会
被自动确定。 - 在代码运行时,变量的数据类型由js引擎根据“=”号右边的值的数据类型来判断
- js中,相同的变量可以赋值不同的类型,如
var a = 5; a = "fdss"
3.2 数字型
- NaN(Not a num)
- isNaN(x): 判断x是否是一个数字类型
3.3 字符串型
- 只要有字符串和其他类型拼接,结果就是字符串
cosole.log('12' + 12);
// => '1212'
- 用prompt函数输入的任何东西都是字符类型
3.4 布尔类型
- true参与运算的时候当1算,false当0算
3.5 undefined(未定义数据类型) 和 null
-
如果一个声明变量没有赋值,就是undefined类型
-
undefined/null 和 String类型 Number类型 Boolean类型相加
var str2 = undefined;console.log(str2 + "aaa"); // => undefinedaaaconsole.log(str2 + 1); // => NaNconsole.log(str2 + true); // => NaNvar str3 = null;console.log(str3 + "aaa"); // => nullaaaconsole.log(str3 + 1); // => 1console.log(str3 + true); // => 1
3.6 数据类型转化
3.6.1 数字型转字符型
var num = 10;var str = num.toString();console.log(str); // => (String)10console.log(String(num)); // => (String)10console.log(num + ''); // => (String)10 最常用
3.6.2 字符型转数字型
//1 parseInt 取整console.log(parseInt('3.555')); // => (Number)3console.log(parseInt("333aaa")); // => (Number)333console.log(parseInt('aaa333aaa')); // => (Number)NaN//2 parseFloat 得到浮点数console.log(parseFloat('3.555')); // => (Number)3.555console.log(parseInt("333.555aaa")); // => (Number)333console.log(parseInt('aaa333aaa')); // => (Number)NaN//3 强制类型转化console.log(Number('12')); // => (Number)12 //4 隐式转化console.log("12" - 0); // => (Number)12console.log("12" - "10"); // => (Number)2console.log("12" * 1); // => (Number)12
3.6.3 任何类型转Boolean
console.log(Boolean("")); // => falseconsole.log(Boolean(0)); // => falseconsole.log(Boolean(NaN)); // => falseconsole.log(Boolean(null));// => falseconsole.log(Boolean(undefined));// => false// 其余均为 true,可当作是否非空的判断
4.解释型语言和编译型语言
翻译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同
编译器(java所用, 如javac.exe)是在代码执行之前进行编译,生成中间代码文件(如main.class)
解释器(js所用, 如v8内核)是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)
(pink老师的图)
JS学习【一】(初识js,变量,数据类型转化, 解释器)
文章目录
- 1.初识js
- 1.1Js的组成
- 1.1.1ES是什么
- 1.1.2DOM(文档对象模型)
- 1.1.3 BOM(浏览器对象模型)
- 1.2 JS的三种写法
- 2.变量
- 2.1 变量的本质和声明变量的本质
- 2.2 变量语法拓展
- 2.2.1 只声明不赋值
- 2.2.2 不赋值不声明
- 2.2.3 只赋值不声明
- 3.数据类型
- 3.1变量的数据类型
- 3.2 数字型
- 3.3 字符串型
- 3.4 布尔类型
- 3.5 undefined(未定义数据类型) 和 null
- 3.6 数据类型转化
- 3.6.1 数字型转字符型
- 3.6.2 字符型转数字型
- 3.6.3 任何类型转Boolean
- 4.解释型语言和编译型语言
1.初识js
1.1Js的组成
1.1.1ES是什么
-
ECMAScript是由ECMA国际进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMAScript语言的实现和扩展。ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
1.1.2DOM(文档对象模型)
1.1.3 BOM(浏览器对象模型)
1.2 JS的三种写法
- 行内式
- 如:
<button onclick="alert('click')" >click me</button>
- 内嵌式
- 如:
<script> alert("click") </script>
- 外部引用
- 如:
<script src="main.js"></script>
2.变量
2.1 变量的本质和声明变量的本质
- 变量的本质是内存中一块空间,用来存储数据
- 声明变量的本质是去内存申请空间
2.2 变量语法拓展
2.2.1 只声明不赋值
var a;
console.log(a);
// =>undefined
2.2.2 不赋值不声明
console.log(b);
// =>报错
2.2.3 只赋值不声明
c = 10;
console.log(c);
// =>10(不推荐)
3.数据类型
3.1变量的数据类型
- JS 是一种弱类型动态语言。这意味看不用提前声明变量的类型,在程序运行过程中,类型会
被自动确定。 - 在代码运行时,变量的数据类型由js引擎根据“=”号右边的值的数据类型来判断
- js中,相同的变量可以赋值不同的类型,如
var a = 5; a = "fdss"
3.2 数字型
- NaN(Not a num)
- isNaN(x): 判断x是否是一个数字类型
3.3 字符串型
- 只要有字符串和其他类型拼接,结果就是字符串
cosole.log('12' + 12);
// => '1212'
- 用prompt函数输入的任何东西都是字符类型
3.4 布尔类型
- true参与运算的时候当1算,false当0算
3.5 undefined(未定义数据类型) 和 null
-
如果一个声明变量没有赋值,就是undefined类型
-
undefined/null 和 String类型 Number类型 Boolean类型相加
var str2 = undefined;console.log(str2 + "aaa"); // => undefinedaaaconsole.log(str2 + 1); // => NaNconsole.log(str2 + true); // => NaNvar str3 = null;console.log(str3 + "aaa"); // => nullaaaconsole.log(str3 + 1); // => 1console.log(str3 + true); // => 1
3.6 数据类型转化
3.6.1 数字型转字符型
var num = 10;var str = num.toString();console.log(str); // => (String)10console.log(String(num)); // => (String)10console.log(num + ''); // => (String)10 最常用
3.6.2 字符型转数字型
//1 parseInt 取整console.log(parseInt('3.555')); // => (Number)3console.log(parseInt("333aaa")); // => (Number)333console.log(parseInt('aaa333aaa')); // => (Number)NaN//2 parseFloat 得到浮点数console.log(parseFloat('3.555')); // => (Number)3.555console.log(parseInt("333.555aaa")); // => (Number)333console.log(parseInt('aaa333aaa')); // => (Number)NaN//3 强制类型转化console.log(Number('12')); // => (Number)12 //4 隐式转化console.log("12" - 0); // => (Number)12console.log("12" - "10"); // => (Number)2console.log("12" * 1); // => (Number)12
3.6.3 任何类型转Boolean
console.log(Boolean("")); // => falseconsole.log(Boolean(0)); // => falseconsole.log(Boolean(NaN)); // => falseconsole.log(Boolean(null));// => falseconsole.log(Boolean(undefined));// => false// 其余均为 true,可当作是否非空的判断
4.解释型语言和编译型语言
翻译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同
编译器(java所用, 如javac.exe)是在代码执行之前进行编译,生成中间代码文件(如main.class)
解释器(js所用, 如v8内核)是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)
(pink老师的图)