JavaScript学习基础
javascript简介
js试运行在 浏览器(客户端)的编程语言
1.javascript的组成部分
- ECMAscript:JavaScript的核心,定义了JavaScript的语法规范 ;
- BOM: 浏览器对象模型,一套操作浏览器功能的API;
- DOM: 文档对象模型,一套操作页面元素的API;
2. Javascript的引入方式
- 外链
<script src=""></script>
- 行内
<input type="button" onclick="alert('hello world')">
- 内嵌
<script> alert('keke') </script>
3. js变量
什么是变量:
变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
为什么要使用变量
使用变量可以方便的获取或者修改内存中的数据
如何使用变量
- var 声明变量
var age = 123;
- 变量赋值
var msg; msg = 'gusf';
- 同时声明多个变量
var n1 = 10,n2 = 11,n3 = 12; console.log(n1,n2,n3);
变量的命名规则(必须要遵守,不然会报错)
- 变量有数字、字母、下划线和&符号组成,但是不可以以数字开头;
- 变量区分大小写;
- 变量不能是关键字和保留字(class for if var等等).
变量的命名规范(最好遵守,不会报错)
- 驼峰命名法:例如
userName
,passWord
; - 命名需要有意义 .
交换变量的数值
var num1 = 4;
var num2 = 6;
// 临时变量
var tmp = num1;
num1 = num2;
num2 = tmp;
console.log(num1,num2);
// 不借助临时变量
var num3 = 34;
var num4 = 62;
num3 = num4 + num3;
num4 = num3 - num4;
num3 = num3 - num4;
console.log(num3,num4);
4.数据类型
-
数值(Number)类型:
浮点型(不要判断两个浮点型是否相等);NaN:不是数字,与任何数值相等,包括他自己;
isNaN()判断不是数字类型;
var num = 1
; -
字符串(String)类型:
var str = 'abcd123';
1.转义符:/n 换行、/r 空格、/t 制表、/'单引号、/"双引号;
2.字符串长度:.length();
var str = '黑马程序猿 Hello World';
console.log(str.length);
3.字符串拼接
字符串拼接使用 + 连接
console.log(11 + 11);
console.log('hello' + ' world');
console.log('100' + '100');
console.log('11' + 11);
console.log('male:' + true);
- 两边只要有一个是字符串,那么+就是字符串拼接功能
- 两边如果都是数字,那么就是算术功能。
- 布尔(Boolean)类型:
true
var bool = false;
- null类型:
null表示一个空,变量的值如果想为null,必须手动设置
var n = null;
- underfined类型:
undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined
var un;
- object(比较复杂的数据类型)
5.数据类型的转换
-
转化为字符串类型:
- toString()方法
var num = 3; console.log(num.toString());
null/underfined没有toString()方法
- String方法 一般只会在null/underfined
var n = null; var nu; console.log(String(n)); console.log(String(nu));
- 字符串拼接
var num = 18; var isRight = true; console.log(typeof(num + '')); console.log(typeof(isRight + ''));
-
转换为数值类型
- Number()方法:
Number()把字符串转换成数值类型的时候,如果字符串中有一个字符不是数字,则为NaN;
var str = '8888' var str1 = 'abc'; console.log(Number(str));//8888 console.log(Number(str1));//NaN
- parseInt()方法:整数方法
var str = '123'; var isRight = false; console.log(parseInt(str)); //123 //无法把布尔类型转换成数值类型,返回值是NaN; console.log(parseInt(isRight));//NaN var str1 = '123abc'; //parseInt()在转换字符串的时候,如果遇到数字就会转成数字,遇到非数字就会返回 console.log(parseInt(str1));//123 var str2 = 'abc123'; console.log(parseInt(str2));//NaN var str3 = '123.34'; console.log(parseInt(str3));//123
- parseFloat()方法
var str = '123.17'; var isRight = false; var str1 = '123.17.23.45'; console.log(parseFloat(str)); //123.17 //无法转换布尔类型,返回NaN; console.log(parseFloat(isRight));//NaN //可以解析第一个点,遇到第二个点就返回 console.log(parseFloat(str));//123.17
- 取正+ 或取负-
var str = '123'; var str1 = '123adb'; var isRight = false; console.log(typeof(+str)); console.log(+str1);//NaN console.log(+isRight);//0
- 变量和0相减
var str = '123'; var str1 = '123adb'; console.log(str - 0);//123 console.log(+str1);//NaN
- Number()方法:
转化为布尔类型
- Boolean()方法
var str = 'kyw12';
var num = 123789;
var temp = true;
var n1 = null;
var n2;
console.log(Boolean(str));//true
console.log(Boolean(num));//true
console.log(Boolean(temp));//true
console.log(Boolean(n1));//false
console.log(Boolean(n2));//false
//除了 null NaN undefined 0和空字符之外其他均为true