小白初识js

## 什么是js?js的来源
1.JavaScript是一种专为与网页交互而设计的客户端脚本语言。

2.最初是为了实现表单验证

3.JavaScript能完成的功能:
- 用户交互(表单验证)
- 网页特效(漂浮的广告)
- 用户记住账户名密码
- 网页游戏(围住神经猫)
- .....
4.JavaScript组成
ECMAScript + BOM + DOM
ECMAScript:是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展
BOM: Browse Object Model,提供与浏览器交互的方法和接口
DOM: Document Object Model,提供访问和操作网页内容的方法和接口

## js的几大基本数据类型
String:字符串;
Number:数字(整数,浮点数float)
Array:数组
Object:对象
布尔类型:Boolean a==b
特殊类型 Null、Undefined、NaN
NaN //number 类型
Infinity //number类型
“null==undefined ”
## JavaScript标签
<script type=“text/javascript”></script>

```javascript
alert("hello world") ; // 页面弹出提示框
document.write("我输出在页面上,跟alert不一样");
console.log("我输出在控制台上,页面看不见我");
```
**javaScript文件引入方式**
<script type="text/javascript" src="demo1.js" ></script>
注意:
1、不可以使用单标
<script type="text/javascript" src="demo1.js“/ > //src 表示要引入的外部文件 type 表示 脚本语言的类型

2、不可以在标签中写代码
<script src="demo1.js">alert('xxxx')</script>;

**JavaScript原样输出标签的内容:**
"&lt"是 “<”
"&gt "是 “>”

**常量/直接量( 字面量 literal)**
所有直接量(字面量),就是程序中直接显示出来的数据

100 //数字字面量

'100' //字符串字面量

false //布尔字面量

## JS的标识符
标识符是指JS中定义的符号,例如:变量名、函数名等。
标识符可以由任意的大小写字母、数字、下划线(_)和美元符($)组成,但是不能以数字开头,不能是js中的保留关键字。
标识符区分大小写,如:age和Age是不同的变量。但强烈不建议,用同一个单词的大小写区分两个变量。

## JS是弱类型的语言
js是弱数据类型的语言,容错性较高。
定义时不需要定义类型,赋值赋的是什么类型就是什么类型

```javascript
var temp; //未定义 => undefined
var temp = 10; //数字类型 number
var temp ="hello"; //字符串类型
```
查看变量的类型
var x=10;
alert(**typeof** x);

## JS的运算符
算术运算符(+,-, *,/,%(取余数))
字符串和变量的拼接(+)
关系运算符
<、>、<=、>=、== 、 ===、!= !==
逻辑运算符
&& 与(且)、|| 或、! 非

赋值运算符a+=10;
=、+=、-=、*=、/=、%=
自增、自减
++a, a++
--a, a--

## JS类型转换
字符串转换数字类型:parseInt()、parseFloat()
parseInt() 是把其它类型转换为整型;
parseFloat();是把其它类型转换为浮点型(小数)
四舍五入Math.round(20.222)--->20
Math.random()
Math.min()
Math.max()
Math.abs()
Math.pow()
Math.ceil()
Math.floor()
Math.PI

## 强制类型转换
String()
Number()
Boolean()
转换为字符类型:
```javascript
var a=100; // "100"
var a = true; // "true"
var a = null; // "null"
var a = undefined; //undefined类型
var a = NaN; //NaN类型
var a = Infinity; //infinity类型
console.log(a + ""); //隐形转换
console.log(String(a));
```
转换为数字类型:
```javascript

//Number() 强制把其他类型转化为number类型
var a = "100"; //100
var a = "haha"; //NaN
var a = true; // 1 false => 0
var a = ""; // 0
var a = undefined;// NaN
var a = null; // 0
var a = NaN; //NaN
var a = Infinity; //Infinity
console.log(Number(a)); // 100
var result = Number(a)*1; // 100 //隐形转换
console.log(result);
```
转换为布尔类型Boolean():
```javascript
var a = "100"; // true
var a = "haha"; // true
var a = ""; // false
var a = " "; // true
var a = 2; // true
var a = 1; // true;
var a = 0; // false;
var a = NaN; // false;
var a = Infinity; // true;
var a = undefined; // false
var a = null; // false
//有实际内容的转化为boolean都为true ,没有实际内容的转化为boolean都为false
```

小白成长之路~未完待续......

posted @ 2019-12-23 17:30  小白wk成长之路  阅读(89)  评论(0编辑  收藏  举报