JavaScript回顾
JavaScript是Web编程语言。
- JavaScript是一种基于对象的脚本语言
- 它是解释执行的
- 在客户端的浏览器中运行
- 可以被嵌入HTML文件中
- 代码以纯文本的形式存储在文件中
- 可以使用任何一种文本编辑器来编辑JavaScript程序
- 单行注释使用//,块注释使用/*...*/
- 在字符串中插入特殊字符 如 “ ‘ ; &,使用 \ + 特殊字符;如: You & I sing “Happy Birthday”.document.write(“You \& I sing \”Happy Birthday\”.”)
- 声明变量:用命令var做声明
- 变量必须以字母、下划线(_)或美元符号($)
- 开头余下的字符可以是下划线、美元符号或任何的字母或数字
- 不能使用JavaScript中的关键字或者保留字做为变量名称
变量
在JavaScript中有五种基本运算类型:
- Underfunded——未定义类型(变量值为Underfunded)
- String——字符串类型(用""或者''括起来的字符或数值)
- Boolean——布尔类型(变量值为true或false)
- Null——空类型(变量值为null)
- Number——数值类型(特殊值NaN非数)
类型转换
| 运算 | 结果 |
| 数值与字符串相加 | 将数值强制转换为字符串。 |
| 布尔值与字符串相加 | 将布尔值强制转换为字符串。 |
| 数值与布尔值相加 | 将布尔值强制转换为数值 |
其他类型转换为String方法1.toString方法2.String()函数
其他类型转换为Number使用Number函数
非数字转换为NaN parseInt(),parseFloat()函数
转换为Boolean类型使用Boolean()函数
函数的格式
function 函数名( param1 , param2 , ..... ){
//函数体
return 返回值;
}
var 返回值变量 = 函数名(实参列表);
注意1:JavaScript里面,根据函数名来确定调用哪一个函数!后面定义的函数覆盖前面的函数。
function add( i , j ){
return i + j;
}
function add( i ){
return i;
}
var z = add(1,2);
alert(z); ==> 1
注意2:调用名,和参数个数没有没有关系,顺次将实际传入的参数对应到形式参数上。
function add( i , j , m ){
return i + j;
}
var z = add(1,2,4,5,6);
alert(z); ==>3
注意3:函数的内部有一个属性,叫做arguments,存放了所有实际参数的值。
//求几个数字的合计
function add(){
var sum = 0 ;
for( var k = 0 ; k < arguments.length ; k++ ){
sum = sum + arguments[k];
}
return sum;
}
var z = add(1,2,4,5,6);
alert(z); ==> 18
注意4:函数内部可以定义函数,该函数叫做内部函数,如果没有做特殊处理,那么该函数只能被内部调用。
消息框 (window对象)
alert()/prompt()/confirm()
对象Object
var obj = new Object();
obj.id = "1001";
obj.name = "张三丰";
obj.sex = true;
obj.birthday = new Date();
obj.action = function(){
alert(this.name + "每天打太极拳!");
//this指代当前对象
};
//打印同学信息
function display( obj ){
alert(obj.id);
obj.action();
}
display(obj); ==> 1001 张三丰每天打太极
数组
- 按照索引赋值和取值
- 数组可以放任意数据类型的数据
- 数组的长度不固定
- 数组可以不按照序号赋值
- 没有赋值的对应的元素取值为undefined
var ary = new Array(
"1001" , "张三丰" , true , function(){
alert("打太极!");
}
);
ary[3]();
ary[6] = "张君宝";
alert( ary[6] );
alert( ary[5] ); // undefined
重要的方法:
1. join
范例:
var ary = new Array(1,2,"张三丰");
var str = ary.join(",");
alert(str); //join 方法 返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。
2.排序方法 sort
范例:
var ary = new Array(1,2,5,12,45,8,4);
var newAry = ary.sort(
function(i , j ){
return i - j;//如果sort方法不传递任何参数,则按照字典顺序的ascii码值进行排序。
}
);
//sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。
//如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:
//负值,如果所传递的第一个参数比第二个参数小。
//零,如果两个参数相等。
//正值,如果第一个参数比第二个参数大。
alert(newAry); //按照数字进行排序
如果sort方法不传递任何参数,则按照字典顺序的ascii码值进行排序。
String类型
- charAt 方法
- indexOf 方法
- replace 方法
- split 方法
- substr 方法 | substring 方法
- toLowerCase 方法 | toUpperCase 方法
演示:
//split 方法
var str = "张三丰0杨玉环1李斯的&杨广";
var ary = str.split(/[0-9]|&/);//split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
for( var i = 0 ; i <ary.length ; i++ ){
alert(ary[i]);
}
//substr 方法 | substring 方法 返回一个从指定位置开始的指定长度的子字符串 返回位于 String 对象中指定位置的子字符串。
//如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 stringvar 的最后。
function SubstrDemo(){
var s, ss; // 声明变量。
var s = "The rain in Spain falls mainly in the plain.";
ss = s.substr(12, 5); // 获取子字符串。
alert(ss);// 返回 "Spain"。
}
SubstrDemo();
//substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。
//substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。
//如果 start 或 end 为 NaN 或者负数,那么将其替换为0。
//子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。
function SubstringDemo(){
var ss; // 声明变量。
var s = "The rain in Spain falls mainly in the plain..";
ss = s.substring(12, 17); // 取子字符串。
alert(ss); // 返回子字符串
}
SubstringDemo();
//toLowerCase 方法 | toUpperCase 方法 返回一个字符串,该字符串中的所有字母都被转化为大写字母。toUpperCase 方法对非字母字符不会产生影响。
var strVariable = "This is a STRING object";
strVariable = strVariable.toUpperCase( );
alert(strVariable);
对象Date
1. 初始化方式
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date[,
hours[, minutes[, seconds[,ms]]]])
2. 重要的方法
getDate 方法:得到1-31之间的一个数字
getFullYear 方法:得到年
getMonth 方法:得到月 ,0-11
getTime 方法:得到从1970/01/01标准时间到该时间之间经历的毫秒数
对应有一组setXXXX方法
Date.parse(dateVal) : dateVal --》 日期的字符串
将一个字符串转换成Date对象
function DateDemo(){
var d, s = "Today's date is: "; // 声明变量。
d = new Date(); // 创建 Date 对象。
alert(d);
s += (d.getMonth() + 1) + "/"; // 获取月份。
s += d.getDate() + "/"; // 获取日。
s += d.getFullYear(); // 获取年份。
alert(d.getTime()/1000/60/60/24/365);
alert(s); // 返回日期。
}
DateDemo();
function GetTimeTest(testdate){
var s, t; // 声明变量。
var MinMilli = 1000 * 60; // 初始化变量。
var HrMilli = MinMilli * 60;
var DyMilli = HrMilli * 24;
t = Date.parse(testdate); // 解析 testdate。
s = "There are " // 创建返回的字符串。
s += Math.round(Math.abs(t / DyMilli)) + " days "
s += "between " + testdate + " and 1/1/70";
alert(s); // 返回结果。
}
GetTimeTest("November 1, 1997 10:15 AM");
Math
ceil 方法:大于等于其数字参数的最小整数。
3.4 ==》4
floor 方法:小于等于其数值参数的最大整数。
3.4 ==》3
pow 方法:
random 方法:[0-1)的小数
round 方法:四舍五入到整数
sqrt 方法:返回数字的平方根。
var a = 4.6;
var b = 2;
alert(Math.ceil(a));
alert(Math.floor(a));
alert(Math.pow(2,2));
alert(Math.round(Math.random()*1000));
alert(Math.sqrt(b));
}
math();
JavaScript回顾的更多相关文章
- 【JavaScript回顾】继承
组合继承 组合继承(combination inheritance),有时候也叫做伪经典继承,指的是将原型链和借用构造函数的 技术组合到一块,从而发挥二者之长的一种继承模式.其背后的思路是使用原型链实 ...
- JavaScript回顾一下js的基础知识,以及学习一下在项目中了解到的新知识
学习文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Functions https://www.cnblogs.com ...
- 小强的HTML5移动开发之路(30)—— JavaScript回顾5
一.查找 第一种方式:依据id查找 var obj = document.getElementById(id); //document是HTMLDocument的实例 <html> & ...
- 小强的HTML5移动开发之路(29)—— JavaScript回顾4
一.变量的作用域 javascript脚本的执行过程分为两个阶段: 第一阶段,js引擎()先扫描整个javascript代码.当碰到<script>时,会先创建一个全局的活动对象,将< ...
- 小强的HTML5移动开发之路(27)—— JavaScript回顾2
Javascript面向对象基础知识 1.如何定义一个类,使用如下语法来创建一个类 function Person(name, age){ //习惯上第一个字母大写 //this修饰的变量称为属性 t ...
- 小强的HTML5移动开发之路(26)—— JavaScript回顾1
很久没有怎么用过JavaScript了,感觉有点生疏,最近在看关于HTML5移动开发方面的资料,有一种直觉告诉我,JavaScript昨天.今天很重要,明天会更重要.现在好多基于JavaScript的 ...
- 【JavaScript回顾】闭包
什么是闭包? 闭包是指有权访问另一个 函数作用域中的变量的函数(也就是说,你这个函数用到的变量另外一个域的就算闭包) <script> function f1() { var age = ...
- 【JavaScript回顾】对象创建的几种模式
组合使用构造函数模式和原型模式 创建自定义类型的常见方式,就是组合使用构造函数模式与原型模式.构造函数模式用于定义实 例属性,而原型模式用于定义方法和共享的属性.结果,每个实例都会有自己的一份实例属性 ...
- 小强的HTML5移动开发之路(32)—— JavaScript回顾7
BOM模型brower object model(浏览器对象模型),通过浏览器内置的一些对象可以操作浏览器本身. DOM是用来操作页面的,BOM是用来操作浏览器本身的. BOM是没有规范的,但是大部分 ...
随机推荐
- sh_08_石头剪刀布
sh_08_石头剪刀布 # 导入随机工具包 # 注意:在导入工具包的时候,应该将导入的语句,放在文件的顶部 # 因为,这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具 import ran ...
- Java连接Oracle数据库常用方法
JDBC的六大步骤: 注册驱动 获取连接 获取执行sql语句对象 执行sql语句 处理结果集 关闭资源 oracle URL: jdbc:oracle:thin:@localhost:1521:SID ...
- 初始化Thread
此处初始化的步骤和上文中介绍的一样,也是调用runClinit方法.首先设置初始化线程为CurrentThread,然后由于其父类Object此时的状态为CLASS_READY,因此就不需要初始化父类 ...
- Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?
if first time to install docker, be noted the docker engine started as root copied from: http://blog ...
- mysql高水位问题解决办法
数据库中有些表使用delete删除了一些行后,发现空间并未释放产生原因:类比Oracle的高水位线产生原理 delete 不会释放文件高水位 truncate会释放 ,实际是把.ibd文件删掉了,再建 ...
- P1364 医院设置 (补锅,memset初始化较大值不可用0x7fffffff )
P1364 医院设置 题解 弗洛伊德水过 注意初始化一个大数 0x3f 可以,0x5f 好像也可以,但是0x7fffffff 我是真的炸了,初始化为-1 (后面补锅有详细解释) 代码 #include ...
- ssd写入量剩余读写次数怎么查
固态硬盘ssd写入量剩余读写次数怎么查 为什么要查固态硬盘的写入量呢,主要是因为闪存是有写入次数限制的,所以查次数就是看看寿命还有多少,说白了这是对耐久度的一点担忧.其实目前原厂出品的固态硬盘,即便是 ...
- windows一次无线网卡被关闭事件
使用的是Dell的笔记本,fn+无线图标莫名的是蓝牙的启动. 有一天突然无线网卡无法上网,无法发现无线网络: 1. 在服务中开启"Wired AutoConfig"以及“WLAN ...
- JavaScript —— 常见用途
javaScript 简介 第一个JavaScript 程序: 点击按钮显示日期 <!DOCTYPE html> <html> <head> <meta ...
- Java ——重写、多态、抽象类
本节重点思维导图 重写 子类覆盖父类同名的方法 final关键字:不可变的 public static final PAGE_SIZE = 18; final修饰的类不能做为父类被子类继承. 多态 多 ...