javascript
javascript notes -ag凯发k8国际
javascript notes
了解
常量/变量
var a = 3.1415926;
var b = "hello";
- 以字母、下划线或美元符开头
- 余下字符可以是下划线、美元符或任何字母数字
- 最长255字符
- 不能有空格、大小写敏感
- 不能使用javascript的关键字或保留字命名
数据类型
- undefined-未定义类型
- null-空类型
- boolean-布尔类型(true/false)true/false是错误的
- number-数字类型:整型(十进制、八进制、十六进制)、浮点型(必须包含小数点)
var box = 4.12e9; //即4120000000
var box = 0.00000000412 //即4.12e-9 - string-字符串类型:表示由零或多个16位unicode字符组成的字符序列
var box = 'lee';
var box = "lee";
对象起始就是一组数据和功能的集合
使用new操作符,后跟要创建的对象类型的名称来创建对象
object()里可以任意传参,可以穿数值、字符串、布尔值等
还可以进行相应的计算
使用new object()来表示一个对象,也可以使用这种new这种操作符来创建其他类型的对象
var box = new number(5);//new string('lee')、new boolean(true)
alert(typeof box);
用于表示一个本来要换回数值的操作数未返回数值的情况(这样就不会抛出错误了)
\n 换行
\t 制表
\b 空格
\r 回车
\f 进纸
\\ 斜杠
\' 单引号
\" 双引号
\xnn 以十六进制代码nn表示一个字符(0~f)。eg:\x41
\unnn 以十六进制代码nnn表示的一个unicode字符(0~f)。eg:\u03a3
javascript是弱类型语言,变量的类型对应于其值的类型
可以对不同类型的变量执行运算,解释器强制装换数据类型,然后进行处理
- 字符串->数值:
- parseint(var)
- parsefloat(var)
- number(var)
- 值->字符串
- tostring()
- number()函数:转型函数,可以用于任何数据类型
运算符
status = (age >= 18) ? "adult" : "minor"
流程控制
函数
javascript的函数属于function对象,因此可以使用function对象的构造函数来创建函数;
可以使用function关键字以普通的形式来定义一个函数;
···javascript
function 函数名 ([参数1,[参数2,[参数n]]])
{
[语句组];
[return [表达式]];
}
···
var 变量名 = new function([参数1,[参数2,[参数n]]],[函数体]);
arguments对象代表正在执行的函数和调用它的参数
函数对象的length属性说明函数定义时指定的参数个数
arguments对象的length属性说明调用函数时实际传递的参数个数
作用:验证所传递的参数是否符合函数要求
引用传递的优点是速度快,但系统会为维护数据而付出额外的开销
数组
javascript数组元素的数据类型可以不相同,可以是任意有效的javascript数据类型
var obj = new array();
var obj = new array(size);
var obj = new array(元素1, 元素2, ... , 元素n);
var obj = [元素1, 元素2, 元素3, ... , 元素n];
- push()-将新元素添加到数组的尾部
- unshift()-将指定个数的新元素插入数组的开始位置,形成新的数组
var students = new array();
students.push("lily"); - 如果指定的下标超过数组的长度,数组将扩展为新下标指定的长度;
- delete 数组名[下标];
- 如果需要删除全部元素只需要删除数组对象即可
var names = array("李莉", "杨洋");
delete names[0];
var obj = new array(1, 2, 3);
var count = obj.length;
- tostring-返回array中的元素转为由逗号分隔的字符串
- join-数组所有元素连接,间隔符由参数指定(省略参数则由逗号分隔)
- concat-数组组合
- pop-移除最后一个元素并返回该元素
- push-增加新元素,并返回新长度
- shift-移除第一个元素并返回该元素
- slice-返回一个新数组,为原数组中的一段
- reverse-返回一个新数组,由原数组反转而成
- sort-返回一个排序后的数组
javascript对象
对象:一种类型(引用类型——一种数据结构,用于将数据和功能组织在一起),而对象的值就是引用类型的实例。
var box = new object(); //使用new运算符创建object
box.name = '张三';
box.age = 28;
var box = object(); //省略new关键字
var box = { name : '张三', age : 28 };
var box = {'name': '张三', 'age': 28};
alert(box.age);
alert(box['age']);
var box = {
run : function(){
return '运行';
}
}
alert(box.run());
delete box.name;
- 在with语句体内,任何对变量的引用都被认为是这个对象的属性
var box = {'name':'tom','age':28,'height':178};
var n = box.name;
var a = box.age;
var h = box.height;
以上改写成:
with(box){
var n = name;
var a = age;
var h = height;
}
- 不必专门销毁对象来释放内存
- 当没有针对该对象的引用时,自动废除
- 把对象的引用设置为null也可以废除
- array
- global
- date
- togmtstring-使用格林威治标准时间数据格式将date对象转成字符串
- tolocalestring-使用当地时间格式将date转成字符串
- date.parse(datestring)-用日期字符串表示自1970年1月1日以来的毫秒数
- date.utc(year,month,day,hours,min,secs)-date对象中自1970年1月1日以来的毫秒数
- math
- abs(x)
- ceil(x):大于等于x的最小整数
- exp(x)
- floor(x):小于等于x的最大整数
- round(x):四舍五入
- sqrt(x)
- random(x)
- string
- charat(i):返回指定索引位置处的字符
- charcodeat(i):
- concat(str):连接字符串
- indexof(str)
- lastindexof(str)
- replace(str1, str2):返回将str1替换为str2后的字符串
- slice(start,end):返回字符串中起始位置为start结束位置为end的子字符串
- split(separator,limit):以separator为分隔符以数组返回limit个元素
- substr(start,length)
- substring(start,end):不包括end
- tolowercase
- touppercase
- number
- max_value
- min_value
- boolean
- tostring()
- valueof()
正则表达式
正则表达式(regular expression)是一个描述字符模式的对象
string和regexp都定义了使用正则表达式进行模式匹配和文本检索与替换的函数
正则表达式主要用来验证客户端的输入数据
var box = new regexp('box');
var box = new regexp('box','ig'); //para1:字符串,para2:可选模式修饰符
var box = /box/; //直接用两个反斜杠
var box = /box/ig; //反斜杠后加上模式修饰符
- test:在字符串中测试模式匹配,返回true或false
- exec:在字符串中执行匹配搜索,返回第一个匹配值
- input
- lastmatch
- lastparen
- leftcontext
- multiline
- rightcontext
- global
- ignorecase
- lastindex
- multiline
- source
- match(pattern)
- replace(pattern,replacement)
- search(pattern)
- split(pattern)
包含特殊含义的字符,可以控制匹配模式的方式
- . 匹配除换行符外的任意字符
- [a-z0-9] 匹配括号中的字符集中的任意字符
- [^a-z0-9] 匹配不在括号中的任意字符
- \d 匹配数字
- \d 匹配非数字
- \w 匹配字母和数字及_
- \w 匹配非字母和数字及_
- \0 匹配null字符
- \b 匹配空格字符
- \f 匹配进纸字符
- \n 匹配换行符
- \r 匹配回车字符
- \t 匹配制表符
- \s 匹配空白字符、空格、制表和换行符
- \s 匹配非空白字符
- x? 0或1个x
- x* 0个或任意多个x
- x 至少一个x
- (xyz) 至少一个xyz
- x{m,n} m-n个x
- this|where|logo 匹配this或where或logo中任意一个
- ^ 行首匹配
- $ 行尾匹配
- \a 只匹配字符串开始处
- \b 匹配单词便捷,词在[]内时无效
- \b 匹配非单词边界
- \g 匹配当前搜索的开始位置
- \z 匹配字符串结束处或行尾
- \z 只匹配字符串结束处
- (string) 用于反向引用的分组
- \1或$1 匹配第一个分组中的内容
- \2或$2 匹配第二个分组中的内容
- \3或$3 匹配第三个分组中的内容
- 检查邮政编码:
var pattern = /[1-9][0-9]{5}/; //共6位数字,第1位不能为0
- 检查文件压缩包:
var pattern = /[\w] .zip|rar|gz/; //\w表示所有数字和字母加下划线
- 删除多余空格:
var pattern = /\s/g; //g必须全局,才能全部匹配
- 删除首尾空格:
var pattern = /^\s /; //强制首
var str = ' goo gle ';
var result = str.replace(pattern,'');
var pattern = /\s $/; //强制尾
result = result.replace(pattern,'');
alert('|' result '|');var pattern = /^\s*(. ?)\s*$/; //使用了非贪婪捕获
var str = ' google ';
alert('|' pattern.exec(str)[1] '|');var pattern = /^\s*(. ?)\s*$/;
var str = ' google ';
alert('|' str.replace(pattern,'$1') '|'); - 简单的电子邮件验证:
var pattern = /^([a-za-z0-9_.-] )@([a-za-z0-9_.-] ).([a-za-z]{2-4})$/;
var pattern = /^([\w.-] )@([\w.-] ).([\w]{2-4})$/;
转载于:https://www.cnblogs.com/mzyan/p/10295218.html
总结
以上是ag凯发k8国际为你收集整理的javascript notes的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: