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是没有规范的,但是大部分 ...
随机推荐
- 苹果cms v10官网下载
苹果CMS程序是一套采用PHP+MYSQL环境下运行的完善而强大的快速建站系统.经过近多年的开发经验和技术积累,苹果CMS程序已逐步走向成熟,在易用性和功能上已经成为同行中的佼佼者.程序体积小-> ...
- [BZOJ4804]欧拉心算:线性筛+莫比乌斯反演
分析 关于这道题套路到不能再套路了没什么好说的,其实发这篇博客的目的只是为了贴一个线性筛的模板. 代码 #include <bits/stdc++.h> #define rin(i,a,b ...
- 基本的axios用法
首先安装axios: 1):npm install 2):npm install vue-axios --save 3):npm install qs.js --save //它的作用是能把json格 ...
- node、npm、git版本升级
node版本升级: npm install -g n 或者 npm i -g n --force n stable或者n --stable:安装最近稳定版本 n latest或者n --latest: ...
- scss 用法 及 es6 用法讲解
scss 用法的准备工作,下载 考拉 编译工具 且目录的名字一定不能出现中文,哪里都不能出现中文,否则就会报错 es6 用法 let 和 const let 声明变量的方式 在 {} 代码块里面才 ...
- .Net Core-3.0-新闻:宣告推出.NET Core 3.0 Preview 7
ylbtech-.Net Core-3.0-新闻:宣告推出.NET Core 3.0 Preview 7 1.返回顶部 1. 今天,我们宣布推出.NET Core 3.0 Preview 7.我们已 ...
- 记一次 Vue 组件内存泄漏的坑
概述 最近在开发 Vue 项目的时候遇到了内存泄漏问题,记录下来,供以后开发时参考,相信对其他人也有用. 背景 背景是需要用 three.min.js 和 vanta.net.min.js 给首页加上 ...
- vs2010发布网站时有些文件没有发布出去的解决办法。
项目中包含了一些ttf字体文件做为图标使用,可是发布时发现生成的目录中没有这个文件,这种情况这么设置一下就可以解决: 1,在文件上点击右键,选择“属性”. 2,在弹出的属性窗口中,更改“生成操作”为“ ...
- kafka学习(四)
集群成员关系 kafka使用Zookeeper 来维护集群成员的信息.每个broker都有一个唯一标识符,这个标识符可以在配置里指定,也可以自动生成.在broker启动的时候,它通过创建临时节点把自己 ...
- Anaconda版本
1. Anaconda各种版本 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 2. 多个Python环境 conda info -e c ...