最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

JS学习【一】(初识js,变量,数据类型转化, 解释器)

互联网 admin 3浏览 0评论

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老师的图)

发布评论

评论列表 (0)

  1. 暂无评论