A我今天学习到了的
JavaScript简介
诞生的背景
1995年网景公司开发的
开发目的:受制于当时的带宽,做表单验证
97年被提交给ECMA,98年获取ISO认证
功能
a.数据处理
b.用户交互
c.服务器端开发
JavaScript组成
JavaScript语法
1.变量
什么是变量? 从字面上看,变量是可变的量;
从编程角度讲,JavaScript变量是存储数据值的容器。
如何使用:声明 赋值 取值
//var a;使用var关键字进行声明
//= 使用等于号进取赋值
2.数据类型的分类
基本类型
2.1原始类型:number,string,boolean,undefined,null
a.number
var a =10,b=20.1;
b.string
//用单引号或双引号包裹的叫string类型
var c= “hello world”;
var c = 'good';
c.boolean
//只有两个值true或false
d.undefined
var a;
//一个变量之声明未赋值就是undefined
使用typeof操作符来识别基本类型
引用类型
2.2 引用数据类型:array,object,function
a.array
a1.声明变量
var arr = [1,2,3,4]
a2.获取数组的长度
arr.length
a3.读取数组的值(数组的下标从0开始)
arr[index]
a4.向数组的末尾添加值
arr[arr.length]=5;
//css
// 基本类型
var a=10;
console.log(a)
var b=10.1;
var c="hello world";
var d='good';
var e=true;
Number(true)//1
Number(false)//0
console.log(Number(true))
console.log(typeof e)
// 引用类型
var arr=[1,2,3,4]
var len=arr.length;
console.log(len);
arr[arr.length]=5;
console.log(arr)
function a(){
console.log("nihao")
}
b.object
b1.声明对象
var chengchao = {
name:”chengchao”,
age:20
}
b2.读取变量的属性
console.log(chengchao.name);
c.function
定义:封装特点功能的代码块
c1.声明函数
function a(){
console.log(“hello world”)
}
c2.调用函数
a();
3.声明提前
在正式执行脚本之前,将所有var声明的变量,提前预读到(当前作用域的)顶部,集中声明创建。
然后再开始执行程序。
***赋值留在本地。
eg:
console.log(a);
var a=10;
4.全局变量和局部变量
全局变量:在函数外声明的变量
局部变量:在函数内部声明的变量
5.数据类型的转换
强制转换
任意-->数字:Number();
Number(true) //1;
Number(false) //0;
//只能识别数值的字符串
var a = "20";
var b = "hello world";
console.log(Number(a));// 20;
console.log(Number(b)); //NaN
任意-->数字:3个API
a.非字符串类型转数字
Number(x)
eg:
var a ="20";
console.log(Number(a)) //只能识别这样的字符串
b. 将字符串转为数字:2个API
parseInt(str):
从第一个字符开始依次读取每个数字,只要碰上第一个非数字字符就停止,自动跳过开头的空字符
***不识别小数点
何时使用:将字符串转为整数时
var width="20px";
console.log(Number(width)) //NaN
console.log(parseInt(width)) //20
parseFloat(str):用法同parseInt
比较Number()和parseInt()
var b=true;
console.log(Number(b)) //1
console.log(parseInt(String(b))) //NaN
任意-->字符串:2个API
x.toString(); x不是undefined或null时,才可用
String(x)
任意类型-->Boolean: Boolean(x)
只有5个值转为false:
"" NaN undefined null 0
其余都转为true
自动转换
自动转换 不需要程序员干预,js自动完成的类型转换
算数计算中的自动转换:
A.算数计算中,数据都默认转为数字,再计算,不能转为数字则为NaN
Boolean类型:true-->1 false-->0
eg:
var a=1;
var b=true;
var c = "hello world";
console.log(a+b); //2
console.log(a-c); //NaN
B.特殊+运算中,碰到字符串,+就变为字符串拼接
另一个不是字符串的数据,被自动转为字符串
关系运算(>,<,>=,<=,==,!=)中的自动转换:
默认将所有类型转为数字再比较
将两个值做比较-->返回值:true、false
6.运算符和表达式
算术运算
+,-,*,/,%,++,--
关系运算
关系运算:将两个值做比较-->返回值:true、false
>,<,>=,<=,==,!=
***关系运算中:
a. 默认将所有类型转为数字再比较
特殊情况
A.NaN:NaN不等于,不大于,不小于任何值(包括自己)
NaN和任何数据做!=比较时,始终返回true
isNaN(n):本意是判断一个值是否是NaN
逻辑运算
逻辑运算:将多个关系运算综合起来,得出最终结论,返回值:true、false
&& || !
赋值运算
+= -= *= /= %=
三目运算
var a=(10>4)?10:4;
B我掌握了的
JavaScript简介
诞生的背景
1995年网景公司开发的
开发目的:受制于当时的带宽,做表单验证
97年被提交给ECMA,98年获取ISO认证
功能
a.数据处理
b.用户交互
c.服务器端开发
JavaScript组成
JavaScript语法
1.变量
什么是变量? 从字面上看,变量是可变的量;
从编程角度讲,JavaScript变量是存储数据值的容器。
如何使用:声明 赋值 取值
//var a;使用var关键字进行声明
//= 使用等于号进取赋值
2.数据类型的分类
基本类型
2.1原始类型:number,string,boolean,undefined,null
a.number
var a =10,b=20.1;
b.string
//用单引号或双引号包裹的叫string类型
var c= “hello world”;
var c = 'good';
c.boolean
//只有两个值true或false
d.undefined
var a;
//一个变量之声明未赋值就是undefined
使用typeof操作符来识别基本类型
引用类型
2.2 引用数据类型:array,object,function
a.array
a1.声明变量
var arr = [1,2,3,4]
a2.获取数组的长度
arr.length
a3.读取数组的值(数组的下标从0开始)
arr[index]
a4.向数组的末尾添加值
arr[arr.length]=5;
//css
// 基本类型
var a=10;
console.log(a)
var b=10.1;
var c="hello world";
var d='good';
var e=true;
Number(true)//1
Number(false)//0
console.log(Number(true))
console.log(typeof e)
// 引用类型
var arr=[1,2,3,4]
var len=arr.length;
console.log(len);
arr[arr.length]=5;
console.log(arr)
function a(){
console.log("nihao")
}
b.object
b1.声明对象
var chengchao = {
name:”chengchao”,
age:20
}
b2.读取变量的属性
console.log(chengchao.name);
c.function
定义:封装特点功能的代码块
c1.声明函数
function a(){
console.log(“hello world”)
}
c2.调用函数
a();
3.声明提前
在正式执行脚本之前,将所有var声明的变量,提前预读到(当前作用域的)顶部,集中声明创建。
然后再开始执行程序。
***赋值留在本地。
eg:
console.log(a);
var a=10;
4.全局变量和局部变量
全局变量:在函数外声明的变量
局部变量:在函数内部声明的变量
C我没有掌握了的
还有的没有交,也没有练习,不怎么会