原文:
JavaScript知识(二)
你要保守你心,胜过保守一切,因为一生的果效,是由心发出的。————O(∩_∩)O...
...O(∩_∩)O...老师因有事下午没来上课,今天就只把中午讲的知识总结一下。由于昨天只是讲了JavaScript的一些基础入门知识点,所以今天就详细地总结一下Javascript的基础。
Javascript语言组成:
ECMAScript:描述了该语言的语法和基本对象。
DOM(Document Object Model):文档对象模型,描述处理网页内容的方法和接口。
BOM(Browser Object Model) :浏览器对象模型描述与浏览器进行交互的方法和接口。
Javascript语言特点:
1.是一种解释性脚本语言(代码不进行预编译)。
2.主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
3.可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
Javascript数据类型
1.命名规则(和C#基本一样)
只能由字母、数字、$和下划线组成,并且第一个字符必须是字母或下划线。
区分大小写,不区分双引号和单引号。
不能使用关键字作为变量名。
Javascript脚本语言中只提供了6种类型:
- Undefined 未被定义类型
- Boolean 布尔类型
- String 字符串类型
- Number 数字类型
- Object 引用类型
- Function 方法类型
注:在使用变量之前,必须先进行变量的声明和定义,声明变量使用关键字var,可以同时声明多个变量
2.运算符(和C#基本一样)
Javascript语言的运算符主要分为:算数运算符、比较运算符、逻辑运算符。
算术运算符包括:+、-、*、/、%、++、--
比较运算符包括:>、<、==、>=、!=
逻辑运算符包括:||(或)、&&(和)、!(非)
注:“=”表示赋值 ““==”表示两边比较的值,"==="表示两边的值必须是同一类型
3.程序结构(和C#基本一样)
在Javascript脚本语言中,只提供了两种结构:条件结构(If、Switch-Case)、循环结构(For、While、do-while)
查看类型
- 当text=0时,打印出Number;当为空字符串时打印出string,为null打印出object
var text = 0;
alert(typeof text)
类型转换(JS中可以把任意类型转换为Boolean类型,数字类型除了0之外都是true,反之是false)
- 如果不赋值或赋值null或赋值undefined,则都是打印出的true,
var u
alert(u == undefined);
- 字符串转布尔类型,字符串非空时返回True,否则返回False
var s = "hello";
var b = Boolean(s);
alert(b);
var b = null;
alert(Number(b));
- 转换浮点类型(ParseFloat()、ParseInt()转换整数类型)
var s = "123.567";
alert(parseFloat(s));
var name = 'Join';
var num = 123;
alert( typeof (name+num));
toLocaleString()转本地语言 tostring(2)转为二进制
var b = true;
alert(b.toString());
alert(name.toLocaleString());
任何方法都以function开头。可以在方法里用return返回,并在方法外接收。
function SayHi(name, message)
{
alert("Hello"+name+"mesg:"+message);
}
SayHi("Rocky", "123");
调用方法时,参数要和方法体里一一相对。
function howManyArgs()
{
alert(arguments[0]+arguments[1]+arguments[2]);
}
howManyArgs(1,2,3);
注:在Javascript中没有方法重载的概念,名字相同,参数不同,也将会打印出最后一个方法。
程序结构中没有块级作用域(可以在循环语句外调用i)
for (var i = 0; i < 10; i++)
{
}
alert(i);
数组类型
定义数组的几种方法
1. var 数组名=new Array(具体长度)可以用for遍历出来,也可以直接alert(数组名)打印出来。
var colors = new Array(3);//设置数组的长度。
colors[0] = "red";
colors[1] = "blue";
colors[2] = "yellow";
for (var i = 0; i <colors. length; i++)//遍历出来
{
alert(colors[i]);
}
2.var 数组名=new Array(值1,值2...值n)
var colors1 = new Array("red", "blue", "yellow");
for (var i = 0; i < colors1.length; i++)
{
alert(colors[i]);
}
3.可以简写:var 数组名=[值1,值2...值n]。
push(后进后出,追加到数组后面)
pop(从数组的末尾移除最后一项)
shift(取得数组中的第一项)
var colo = ["red", "blue", "yellow"];
colo.push("张三", "李四");
colo.pop();
alert(colo.shift());
alert(colo);
substring()第二个参数指定的是字符串最后一个字符后面的位置
substr(n,m)n开始位置,m截取长度
var str = "Woshiunib";
alert(str.substring(1, 3));
alert(str.substr(1, 3));
排序:
升序(sort())
var values = [1, 3, 2, -9, 5, 11];
function compare(v1, v2) {
if (v1 < v2) {
return -1;
}
else if (v1 > v2) {
return 1;
}
else {
return 0;
}
}
values.sort(compare);
alert(values);
降序:在方法体里取反。
var values = [1, 3, 2, -9, 5, 11];
function compare(v1, v2) {
if (v1 < v2) {
return 1;
}
else if (v1 > v2) {
return -1;
}
else {
return 0;
}
}
values.sort(compare);
alert(values);
倒序:(reverse())
var values = [1, 3, 2, -9, 5, 11];
function compare(v1, v2) {
if (v1 < v2) {
return 1;
}
else if (v1 > v2) {
return -1;
}
else {
return 0;
}
}
values.reverse(values);
alert(values);
判断是否为数字(用IsNaN())
var num1 = "Hello";
alert(isNaN(num1));
昨天由于时间的关系,没有写完,所以这是补的昨天的博客总结,今天晚上在继续吧!加油!O(∩_∩)O...