JS学习指导

来源:互联网 发布:淘宝店铺如何替换图片 编辑:程序博客网 时间:2024/05/22 08:21
1.JAVASCRIPT
独立的语言
脚本语言
最长见的应用场景时在浏览器中提供和用户的交互,也有服务端端的应用。


解释运行没有编译过程
基于对象
弱类型


2.发展历史




3.js数据类型
基本数据类型
数值类型
0.1.2.3.
Infinity 无穷大
-Infinity 负无穷大
NaN 非数字 NaN和任何值都不相等,包括它自己本身,如果想检查某个变量是否时非数字不能用 == NaN 来判断,得用isNaN方法来判断
字符串类型 
布尔类型 
undefined 
NULL
复杂数据类型
对象 
数组
4.js中的类型会自动进行转换
js当中的数据类型 在必要的时候会自动进行类型的转换。
数字: 自动转换为字符串 如果非0的数字转换为true 如果是0转换为false  自动包装成Number对象
字符串: 会自动转换为对应的数字 如果时非空字符串转换为true,如果是空字符串转换为false 自动包装为String对象
布尔类型: true变为1 false变为0 true变为”true“false变为”false“ 封装为Boolean包装对象
undefined : NaN ”undefined“ false 抛出异常
null: 0 "null" false 抛出异常
5.变量定义
js中是有数据类型的,但是引用不区分数据类型,所以称为弱类型的语言,一个变量可以被赋值为不同的类型。

6.运算符
算数运算
关系运算
逻辑运算
位运算


基本和java中的一样,不同在于 数值和类型转换的处理 typeof 关键字


7.语句
if
switch case
while
do while
for
增强for不支持


8.函数
(1)普通方法定义函数
function 函数名(形式参数列表){
函数体
如果需要返回任何数据时,可以使用return关键字
}


(2)动态函数
var 变量名 = new Function(形参列表。。。函数体);


(3)匿名函数
var 变量名 = function(形参列表){
函数体
}


在需要调用函数时,函数名(实参列表)。


函数本质上也是一个对象,可以传来传去。
函数的形参和实参不必一一对应,如果实参的数量少于形参的数量,实参依次赋值给形参,未赋值到的形参取值为undefined。
如果实参多余形参,依次赋值,对于多出来的实参不赋值,但是可以通过function中隐含的 arguments数组来操作。


9.数组
var arr = new Array();
var arr = new Array(10);
var arr = new Array("a","b",3,true,new Objct());
var arr = ["a",2,4,true];


弱类型什么都可以装
数组长度时可以变化的


10.对象
js内置了很多对象
String - length字符串长度 
strVariable.length
返回 String 对象的长度。
strObj.charAt(index)
返回指定索引位置处的字符。
string1.concat([string2[, string3[, . . . [, stringN]]]])
返回字符串值,该值包含了两个或更多个提供的字符串的连接。
strObj.indexOf(subString[, startIndex])
返回 String 对象内第一次出现子字符串的字符位置。
strObj.lastIndexOf(substring[, startindex])
返回 String 对象中子字符串最后出现的位置。
stringObj.match(rgExp)
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。
stringObj.replace(rgExp, replaceText)
返回根据正则表达式进行文字替换后的字符串的复制。
stringObj.search(rgExp)
返回与正则表达式查找内容匹配的第一个子字符串的位置。
stringObj.slice(start, [end])
返回字符串的片段。
stringObj.split([separator[, limit]])
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringvar.substr(start [, length ])
返回一个从指定位置开始的指定长度的子字符串。
strVariable.toLowerCase( )
返回一个字符串,该字符串中的字母被转换为小写字母。
strVariable.toUpperCase( )
返回一个字符串,该字符串中的所有字母都被转化为大写字母。


Array
length 数组的长度
strVariable.length
返回 String 对象的长度。
strObj.charAt(index)
返回指定索引位置处的字符。
string1.concat([string2[, string3[, . . . [, stringN]]]])
返回字符串值,该值包含了两个或更多个提供的字符串的连接。
strObj.indexOf(subString[, startIndex])
返回 String 对象内第一次出现子字符串的字符位置。
strObj.lastIndexOf(substring[, startindex])
返回 String 对象中子字符串最后出现的位置。
stringObj.match(rgExp)
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。
stringObj.replace(rgExp, replaceText)
返回根据正则表达式进行文字替换后的字符串的复制。
stringObj.search(rgExp)
返回与正则表达式查找内容匹配的第一个子字符串的位置。
stringObj.slice(start, [end])
返回字符串的片段。
stringObj.split([separator[, limit]])
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringvar.substr(start [, length ])
返回一个从指定位置开始的指定长度的子字符串。
strVariable.toLowerCase( )
返回一个字符串,该字符串中的字母被转换为小写字母。
strVariable.toUpperCase( )
返回一个字符串,该字符串中的所有字母都被转化为大写字母。
Array对象
numVar = arrayObj.length
返回一个整数值,这个整数比数组中所定义的最高位元素的下标大 1。
array1.concat([item1[, item2[, . . . [, itemN]]]])
返回一个新数组,这个新数组是由两个或更多数组组合而成的。
arrayObj.join(separator)
返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。
arrayObj.pop( )
移除数组中的最后一个元素并返回该元素。
arrayObj.push([item1 [item2 [. . . [itemN ]]]])
将新元素添加到一个数组中,并返回数组的新长度值。
arrayObj.reverse( )
返回一个元素顺序被反转的 Array 对象。
arrayObj.shift( )
移除数组中的第一个元素并返回该元素。
arrayObj.slice(start, [end])
返回一个数组的一段。
arrayobj.sort(sortfunction)
返回一个元素已经进行了排序的 Array 对象。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])
将指定的元素插入数组开始位置并返回该数组。
Date
dateObj = new Date()//代表当前时间的日期对象
dateObj = new Date(dateVal)//根据毫秒值计算的日期对象
dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]]) //指定年月日时分秒的日期对象


getDay() set... 获取星期信息
getFullYear() set...获取年份信息
getMonth() set...获取月份信息
getDate() set...获取日期信息
getHours() set... 获取小时
getMinutes() set...获取分
getSeconds() set...获取秒
getTime() set...获取代表当前日期对象表示时间的毫秒值
Function
arguments 实参列表
Global
eval(codeString)
检查 JScript 代码并执行.
isNaN(numValue)
返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。
parseFloat(numString)
返回由字符串转换得到的浮点数。
parseInt(numString, [radix])
返回由字符串转换得到的整数。
Math
Var num = Math.PI
返回圆的周长与其直径的比值,约等于 3.141592653589793。
Math.ceil(number)
返回大于等于其数字参数的最小整数。
Math.floor(number)
返回小于等于其数值参数的最大整数。
Math.abs(number)
返回数字的绝对值。
Math.exp(number)
返回 e(自然对数的底)的幂。
Math.random( )
返回介于 0 和 1 之间的伪随机数。
Math.round(number)
返回与给出的数值表达式最接近的整数。
正则表达式对象
re = /pattern/[flags]
re = new RegExp("pattern",["flags"])


rgExp.exec(str)
用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。
rgexp.test(str)
返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。


自定义对象
(1)构造函数定义对象1
function Person(){
}
var p = new Person();
p.name = "zhang";
p.age = 19;
p.getName = function(){return name;}
(2)构造函数定义对象1
function Person(name,age){
this.name = name;
this.age = age;
this.getAge = function (){
return this.age;
}
}
var p = new Person("li",19);
alert(p.name)
alert(p.age)
alert(p.getAge());
(3)对象直接量方式定义对象
var p = {name:"zhang",age:19,getName:function(){....}};


(4)闭包 原型


0 0
原创粉丝点击