【JavaScript】Day1——JS与变量

JS初见
 
JavaScript是什么?

  1. 是一种运行在客户端脚本语言
  2. 不需要编译运行过程中由js解释器js引擎逐行解释并执行
  3. 可以基于Node.js技术进行服务端编程

浏览器怎样执行JS?

浏览器分成两部分:渲染引擎JS引擎

渲染引擎:用来解释HTML和CSS,俗称内核(比如chrome浏览器的blink)

JS引擎:也称为JS解释器,用来读取网页中的JavaScript代码对其处理后运行(如chrome浏览器的V8)

 
JS的组成?

三部分:

  1. ECMAScript —— 规定JS的编程语法基础核心知识,共同遵守
  2. DOM —— Document Object Model,文档对象模型;(操作页面元素:大小、颜色、位置…)
  3. BOM —— Browser Object Model,浏览器对象模型;(弹出框、浏览器跳转…)

 
三种书写位置——行内式、内嵌式、外部式(和CSS的style标签一样)
 
注释(其实和Java一样…)

// 单行注释
/* 多行注释
多行注释 */		

 
输入输出语句

prompt(info) 浏览器弹出输入框
alert(msg) 浏览器弹出警示框
console.log(msg) 浏览器控制台打印输出信息

 
 
 

变量

什么是变量?

这是一个老生常谈的重要思想变量就是存放数据的容器

声明var age;赋值age = 12;) 是初始化var age = 12;)的两个部分
 
一些细节

var myname = 'loli',
    age = 12;			// 一次给多个变量赋值

var x;
console.log(x);			// 只声明不赋值:x的值为undefined
 
y = 12;
console.log(y);			// 只赋值不声明:这是可以的,就和python一样

console.log(z);			// 报错!

 
 
 
数据类型
 
为什么需要数据类型?

为了充分利用计算机的存储空间。
 
变量的数据类型

JavaScript不是强类型的语言!而是弱类型的,或者说是动态语言

这意味着代码在运行过程中JS引擎根据变量值自动确定类型,而且是可变的
 

数据类型的分类

简单数据类型

简单数据类型 默认值
number 数字型,包含整型浮点型 0
boolean 布尔型 false
string 字符串型 ""
undefined 未定义数据类型 undefined
null 空值,实际上是个对象(object); null

注:

  1. 二进制0b1010;八进制023;十六进制0xc3
  2. 数字型最大值最小值Number.MAX_VALUE; Number.MIN_VALUE;
  3. 特殊:Infinity(无穷大);-Infinity(无穷小);NaN(Not a number)(非数值)
  4. isNaN()方法用来判断非数字:如果不是数字返回true是数字返回false
  5. 对于字符串型String,双引号都可;JS推荐单引号
  6. 获取字符串长度str.length
  7. 字符串拼接:'Loli' + 'suki'; 'Loli'+12; 'Loli'+true; 'Loli'+undefined;'Loli'+null都会被视为字符串
  8. 格式化输出:console.log('She is' + age);
  9. 3 + true + false的值为4
  10. undefined + 1的值为NaNundefined + true的值也为NaN
  11. 实际上,undefined除了与字符串相加被转换为字符串型,与其他任何类型相加都是NaN
  12. null + 1的值为1null + true的值为1null + null的值为0

 
获取数据类型

var v = 12;
console.log(typeof v);		 // 返回number
var v = null;
console.log(typeof v);		 // 返回object

不妨用新学的typeof做个小测试:

var age = prompt('Please enter your age :');
console.log(typeof age);

发现输入的12,返回的竟然是string;这说明prompt取来的输入是字符串型的——这与python的input完全一致
 

数据类型转换

转换为字符串.toString()String()+‘’隐式转换

转化为数字型parseInt()parseFloat()Number()'3' - 0; '3' * 1; '3' / 1隐式转换

转化为布尔型Boolean()
 
注:

  1. parseInt('120px')返回的是数字型的120——会去掉单位(末尾的字母)(parseFloat()也可以)
  2. 空字符串0NaNundefinednull转化为布尔值都为false

 
☀ Loli & JS

♫ Saikou

猜你喜欢

转载自blog.csdn.net/m0_46202073/article/details/106269119