JavaScript基础
1、输入输出语句
alert(msg) //浏览器弹出警示框
console.log(msg) //浏览器控制台打印输出信息,(在F12中给程序员看的)
prompt(info) //浏览器弹出输入框,用户可输入
2、变量的声明
var age; //var + 变量名 来声明变量
3、变量类型
特点:js是动态语言,变量的类型可以变化
①简单数据类型
Number //数字型
▲范围为Number.MAX_VALUE~Number.MIN_VALUE(最大值~最小值)
特殊的有:Infinity、-Infinity、NaN(无穷大、无穷小、非数值)
Boolean //布尔型
▲如果布尔参与运算,true为1,false为0
String //字符串
▲推荐用单引号,引号内要用引号时,需要“外单内双”,或者用转义字符
Undefined //未定义
Null //空值,默认为0
②常用函数
判断是否为数字:
isNaN( ** ) //判断是否为数字,返回true或false
检测字符串的长度:
变量名.length //返回变量的长度
字符串拼接:
用 + 来拼接,同java
检测数据类型:
typeof 变量名; //返回数据类型的字符串
转换为字符串:
变量名.toString()
String(变量) //强制转换
用加号拼接
转换为数字型:
变量名.parseInt(string) //转int,首字符不是数字则会返回NaN变量名.parseFloat(string) //转floatNumber() //强制转换用+ - * / 隐式转换 //z
4、字面量
定义:是源代码中队固定值的一个表示法
5、比较运算符
18 == '18' //返回true,因为会自动隐形转换'18'==='18' //数值和类型一样才返回true,不然返回false
6、数组
①数组的声明:用new创建
var 数组名 = new Array();
②字面量直接声明
var arr= [];var arr=[1,2,'zyk',true]; //数组中元素类型可以不同
③数组长度函数
在数组名.length //返回数组的长度值
案例:数组转换分割字符串
var arr=['red','green','blue','pink']; var str=''; for(var i=0;i<4;i++){ str+=arr[i]; str+='|'; } console.log(str)
④新增数组元素
var arr=['red','green','blue','pink']; //先修改数组的长度 arr.length=5; //或者直接追加 arr[4]='gray';
7、函数
①声明函数
function 函数名(形参列表【无需数据类型】){ //这里形参可以是数组,仍不用写类型,只要实参是数组即可 函数体;}
方法二:var func(变量名) = function(){ 函数体;}调用时:func();
②返回值
function 函数名(形参列表【无需数据类型】){ 函数体; return 结果值; //无需在声明函数时定义返回值类型,可以返回数组等}
▲如果没有返回值,默认返回undefined
③arguments的使用
定义:当我们不确定有多少形式参数传递的时候,可以用arguments来获取在 Javascript中,arguments实际上是对当前函数的一个内置对象,所有函数都内置了一个arguments对象,arguments对象。中储存了传递的所有实参。
function func(){ console.log(arguments); //一个伪数组储存了所有的实参也具有length等特性}
④作用域链
如果在一个嵌套的作用域中,访问变量会呈链式查找,如
funcetion a(){ var num = 20; funcetion a(){ var num = 10; funcetion a(){ console.log(num); //从里向外查找,答案是10 } }}
8、预解析
描述:Js引擎运行分为两步,预解析和代码执行。预解析,预习Js引擎会把js里面所有的var还有function提升到当前作用域的最前面。然后代码执行,按照书写的顺序从上往下执行。预解析分为变量预解析和函数预解析,变量预解析就是把作用域的最前面,不会提升赋值操作。函数就是把函数声明放到作用域的最前面,不会提升调用操作。
9、全局变量
▲当在局部变量出现一个没有被var修饰的变量,默认是声明了一个全局变量,在全局可用
10、对象
①创建对象的方式:
▲属性采用冒号声明,中各个属性间使用逗号连接,不用声明数据类型
var obj={ //字面量直接创建 name:'朱', sex:'男', age:18, sayHi:function(){ console.log('hello'); }}
var obj= new Object();obj.name='朱玉坤';obj.age=18;boj.sayHi = function(){console.log}
②使用对象的方法:
abj.age //第一种方式调用obj['age'] //第二种方式调用
11、构造函数
语法:
function 构造函数名(){ //构造函数首字母大写 this.属性=值; this.方法=function(){ 函数体; }}
函数的调用:
new Star('刘德华',18); //类似于java的狗崽方法
12、遍历对象
for(变量 in 对象for(var k in obj){ console.log(k); //输出obj中各个属性名 console.log(obk //输出对象中的各个属性值}
13、内置对象
对象分为:自定义对象、内置对象、浏览器对象
①Math对象
Math.PI //圆周率Math.floor() //向下取整Math.ceil() //向上取整Math.round() //四舍五入M