关于JavaScript的操作
一:js基础。
1. var是定义js变量的关键字。
如: var leng=5;定义一个变量为5
var length = 16; // Number 通过数字字面量赋值
var points = x * 10; // Number 通过表达式字面量赋值
var lastName = "Johnson"; // String 通过字符串字面量赋值
var cars = ["Saab", "Volvo", "BMW"]; // Array 通过数组字面量赋值
var person = {firstName:"John", lastName:"Doe"}; // Object 通过对象字面量赋值
2. innerHTML和innerText修改标签的文本内容
// 获取元素赋值给变量
// 声明符 变量 访问作用 获取ID名为text的元素
var Text = document.getElementById('text');
// 打印纯文本信息,会把标签过滤掉 复给str
var str = Text.innerText;
// 打印信息
console.log(str)
// 更改文本信息
Text.innerText='哈哈' // innerHTML 打印,包括标签和文本信息a
var str1 = Text.innerHTML;
// 打印信息
console.log(str1)
// 更改信息
Text.innerHTML = '轩辕' <script>
document.getElementById("image").src="landscape.jpg";
</script>
3. js的样式操作。
var box = document.getElementById('box');
box.style.width = "200px";
box.style.height = "120px";
box.style.marginTop = "20px";
box.style.marginLeft = "auto";
4.js的属性操作。
// 操作标签属性
var box = document.getElementById('box');
alert(box.id);
// 修改ID
box.id = "add";
alert(box.className);
// 修改class
box.className = 'a';
// setAttribute在这里是设置的意思
box.setAttribute('hello','晚上好');
// 修改标签属性值
5.三方块相互切换。
<div>
<p></p>
<p></p>
<p></p>
</div>
<script>
var op = document.getElementsByTagName('p');
op[0].onclick = function () {
this.innerHTML = '终是悟空成了佛';
op[1].innerHTML = '负了紫霞入了魔';
op[2].innerHTML = '终是貂蝉白了头'
}
op[1].onclick = function () {
this.innerHTML = '终是世隐算天地';
op[0].innerHTML = '却未算中命无你';
op[2].innerHTML = '终是大乔归了海';
}
op[2].onclick = function () {
this.innerHTML = '终是霸王入深渊';
op[0].innerHTML = '虞姬含泪望着天';
op[1].innerHTML = '终是木兰弃了剑'
}
</script>
6.留言板,示例:
<div id="box">你好</div>
<div id="btn"></div>
<button onclick="show()">按钮</button> <script>
function show() { var box = document.getElementById("box");
var btn = document.getElementById("btn");
btn.innerHTML = box.innerHTML
box.innerHTML = " ";
}
</script>
7. switch 的使用:
var numoff = 2;
switch (numoff){
case 1:
document.write('');
case 2:
document.write('两');
case 3:
document.write('');
case 4:
document.write('');
default :
document.write('都不对');
8. #返回传入的数据 match
9. document.write() 方法将内容写入HTML 文档。
10. try的使用:
try 语句测试代码块的错误。
catch 语句处理错误。
throw 语句创建自定义错误。
finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。
try {
... //异常的抛出
} catch(e) {
... //异常的捕获与处理
} finally {
... //结束处理
}
11. this的使用
js中的this表示当前:
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
12. let的使用
js中let生明变量,在局内声明,局外不受影响
var x = 10;
// 这里输出 x 为 10
{
let x = 2;
// 这里输出 x 为 2
}
// 这里输出 x 为 10
二:js事件处理。
1. 基础事件。
onclick 单击事件 ondblclick 双击事件
onmouseenter 鼠标划入 onmouseleave 鼠标划出
onresize 窗口变化 onchange 改变下拉框
2. 计时事件。
setTimeout 设置定时器 clearTimeout 清除定时器
setInterval 设置定时器 clearInterval 清楚定时器
setTimeout(function () {
console.log(1);
},2000); // 1000毫秒 = 1s // 格式: setTimeout(函数,时间); 简易格式:
function fn() {
console.log(3);
}
setTimeout(fn,2000); //显示一个时钟
setInterval(function(){myTimer()},1000);
function myTimer(){
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=d;
}
myTimer() // 清除计时器
<div id="box">
<p> 还有<span id="timer">5s</span>就开始! </p>
</div> <script>
var oTime = document.getElementById('timer');
var num = 5;
var time;
time = setInterval(function () {
num --; // 逐渐往下减
oTime.innerHTML = num +'s'; //打印
if(num === 1){
clearInterval(time);
// clearTimeout(time), 前面用哪个定时器后面就跟哪个,要一一对应
window.location.href = 'http://www.baidu.com';
// 去某个地方的固定写法
}
},1000);
</script>
三:js函数操作。
1.
1.函数可传参,调用
<p id="demo"></p>
<script>
var x = function (a, b) {return a * b};
document.getElementById("demo").innerHTML = x(4, 3);
2.函数的调用
<p id="demo"></p>
<script>
function myFunction(a, b) {
return a * b;
}
document.getElementById("demo").innerHTML = myFunction(10, 2);
</script>
3.
<p>函数可以访问函数内部定义的变量:</p>
<button type="button" onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
function myFunction() {
var a = 4;
document.getElementById("demo").innerHTML = a * a;
}
</script>
4.函数可作为值调用但需要有retuen键
<script>
function myFunction(a, b) {
return a * b;
}
var x = myFunction(4, 3);
document.getElementById("demo").innerHTML = x;
</script>
2. 有名函数与匿名函数
// 匿名函数函数
oBox1.onclick = function () {
console.log(1); // 点击会打印1
}; // 有名函数
function fn() {
console.log(1); // 设置值,可以直接调用
}
oBox1.onclick = fn; // 如果加括号会自动执行, 一般不用
3. js函数的定义方式:
1.函数名定义:
function myFunction()
{
alert("Hello World!"); //一般用于事物触发调用,可以传参数
}
2.带有返回值的函数:
function myFunction()
{
var x=5;
return x;
}
3.在您仅仅希望退出函数时 ,也可使用 return 语句。返回值是可选的:
function myFunction(a,b)
{
if (a>b)
{
return;
}
x=a+b
}
如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。
四:数据操作。
在 JavaScript 中有 5 种不同的数据类型:
string
number
boolean
object
function
3 种对象类型:
Object
Date
Array
2 个不包含任何值的数据类型:
null
undefined
1. 逻辑运算符: &&(与) ||(或) !(非)
优先级: 非》与》或
2. “%” 取余 “==” 判断是否相等 “===” 判断值是否相等 “++”自增 “--”自减 !== 不绝对等于值喊类型有一个不相等,或两个都不相等
3. js字符串方法。
字符串的属性
constructor 返回创建字符串属性的函数
length 返回字符串的长度
prototype 允许您向对象添加属性和方法
字符串方法
charAt() 返回指定索引位置的字符
charCodeAt() 返回指定索引位置字符的 Unicode 值
concat() 连接两个或多个字符串,返回连接后的字符串
fromCharCode() 将 Unicode 转换为字符串
indexOf() 返回字符串中检索指定字符第一次出现的位置
lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
localeCompare() 用本地特定的顺序来比较两个字符串
match() 找到一个或多个正则表达式的匹配
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
split() 把字符串分割为子字符串数组
substr() 从起始索引号提取字符串中指定数目的字符
substring() 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase() 把字符串转换为小写
toString() 返回字符串对象值
toUpperCase() 把字符串转换为大写
trim() 移除字符串首尾空白
valueOf() 返回某个字符串对象的原始值
arr.join(分隔符) 以,连接
length 长度
字符串使用split()函数转为数组:
txt="a,b,c,d,e" // String
txt.split(","); // 使用逗号分隔
txt.split(" "); // 使用空格分隔
txt.split("|"); // 使用竖线分隔
2. 数组操作。
reverse() 定义: 将数组中的元素颠倒顺序,返回逆序的字符串。 注意:原数组被改变
sort() 定义:将数组中的元素排序后返回排序后的数组、 注意:数组以字母表顺序排。 原数组被改变
concat() 定义:创建并返回一个新数组。新数组由原数组和concat()里面的参数组成 注意:不改变原数组
push() 追加
Unshift() 添加
pop() 后删除
定义数组:
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";
创建一个数组 创建一个数组,有三种方法。 下面的代码定义了一个名为 myCars的数组对象: 1: 常规方式:
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW"; 2: 简洁方式:
var myCars=new Array("Saab","Volvo","BMW"); 3: 字面:
var myCars=["Saab","Volvo","BMW"]; 数组方法和属性 使用数组对象预定义属性和方法:
var x=myCars.length // myCars 中元素的数量
var y=myCars.indexOf("Volvo") // "Volvo" 值的索引值
3. Math方法。
方法 | 描述 |
---|---|
abs(x) | 返回数的绝对值。 |
acos(x) | 返回数的反余弦值。 |
asin(x) | 返回数的反正弦值。 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 |
ceil(x) | 对数进行上舍入。 |
cos(x) | 返回数的余弦。 |
exp(x) | 返回 e 的指数。 |
floor(x) | 对数进行下舍入。 |
log(x) | 返回数的自然对数(底为e)。 |
max(x,y) | 返回 x 和 y 中的最高值。 |
min(x,y) | 返回 x 和 y 中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 0 ~ 1 之间的随机数。 |
round(x) | 把数四舍五入为最接近的整数。 |
sin(x) | 返回数的正弦。 |
sqrt(x) | 返回数的平方根。 |
tan(x) | 返回角的正切。 |
toSource() | 返回该对象的源代码。 |
valueOf() | 返回 Math 对象的原始值。 |
五:js的循环操作:
for - 循环代码块一定的次数
for/in - 循环遍历对象的属性
while - 当指定的条件为 true 时循环指定的代码块
do/while - 同样当指定的条件为 true 时循环指定的代码块
1. if 判断。
由于这个 if 语句只有一行代码,所以可以省略花括号:
for (i=0;i<10;i++)
{
if (i==3) break;
x=x + "The number is " + i + "<br>";
}
// 控制流程,if else 循环
var obj = '对象';
if(obj==='对象'){
console.log('谁的'+obj);
}
else{
console.log('陌影')
}
if(obj==='对'){
console.log(obj+'是谁');
}
else if(obj==='对象'){
console.log(obj+'可以');
}
else {
console.log('都不是');
} // 简化写法 正确打印,不正确不打印
if(obj)console.log('陌影');
2. while 循环和for循环。
while (i<5)
{
x=x + "The number is " + i + "<br>";
i++;
} js中while循环也可以像for循环一样迭代数据:
cars=["BMW","Volvo","Saab","Ford"];
var i=0;
while (cars[i]){
document.write(cars[i] + "<br>");
i++;
}
六:js的时间操作。
toDateString() 把 Date 对象的日期部分转换为字符串。
toISOString() 使用 ISO 标准返回字符串的日期格式。
toJSON() 以 JSON 数据格式返回日期字符串。
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。
toString() 把 Date 对象转换为字符串。
toTimeString() 把 Date 对象的时间部分转换为字符串。
toUTCString() 根据世界时,把 Date 对象转换为字符串。
UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
日期对象:
data.getFullYear();获取年
data.getMonth();获取月
data.getDate();获取日
date.getDay();获取周几
date.getHours();//返回小时部分
date.getMinutes();//返回分钟部分
date.getSeconds();//返回秒钟部分
date.getMilliseconds();//返回毫秒部分
date.getTime();//返回日期对象中的时间与1970年1月1日0时0分0秒所间隔的毫秒数
date.getTimezoneoffset();//返回日期对象中的时间与UTC之间的时差数,单位为秒。
获取当前时间:
var data = new Date( ); //获取月份,取值为0~11之间的整数,所以要得到正常月份。需要在后面”+1“。 //获取周,取值为0~6之间的整数,所以需要在后面”+1“。
七:js的Windows操作:
window.history 对象包含浏览器的历史。
window.history对象在编写时可不使用 window 这个前缀。 history.back() 方法加载历史列表中的前一个 URL。
这与在浏览器中点击后退按钮是相同的 history forward() 方法加载历史列表中的下一个 URL。
这与在浏览器中点击前进按钮是相同的 window.navigator 对象包含有关访问者浏览器的信息。
window.navigator 对象在编写时可不使用 window 这个前缀。
例如:
<script>
txt = "<p>浏览器代号: " + navigator.appCodeName + "</p>";
txt+= "<p>浏览器名称: " + navigator.appName + "</p>";
txt+= "<p>浏览器版本: " + navigator.appVersion + "</p>";
txt+= "<p>启用Cookies: " + navigator.cookieEnabled + "</p>";
txt+= "<p>硬件平台: " + navigator.platform + "</p>";
txt+= "<p>用户代理: " + navigator.userAgent + "</p>";
txt+= "<p>用户代理语言: " + navigator.systemLanguage + "</p>";
document.getElementById("example").innerHTML=txt;
</script> 警告框:
window.alert("sometext"); 确认框:
window.confirm("sometext");
window.confirm() 方法可以不带上window对象,直接使用confirm()方法。
例如:
var r=confirm("按下按钮");
if (r==true)
{
x="你按下了\"确定\"按钮!";
}
else
{
x="你按下了\"取消\"按钮!";
} 提示框:
window.prompt("sometext","defaultvalue");
window.prompt() 方法可以不带上window对象,直接使用prompt()方法。
例如:
function myFunction(){
var x;
var person=prompt("请输入你的名字","Harry Potter");
if (person!=null && person!=""){
x="你好 " + person + "! 今天感觉如何?";
document.getElementById("demo").innerHTML=x;
}
}
window.location和document.location互相等价的,可以交换使用
location的8个属性都是可读写的,但是只有href与hash的写才有意义。例如改变location.href会重新定位到一个URL,而修改location.hash会跳到当前页面中的anchor(<a id="name">或者<div id="id">等)名字的标记(如果有),而且页面不会被重新加载
注意
URL:http://b.a.com:88/index.php?name=kang&how=#when=2011#first
search: | "?name=kang&how=" | 第一个"?"之后 |
hash: | "#when=2011#first" | 第一个"#"之后的内容 |
方法
- location.assign( url )
- location.assign('http://www.baidu.com'); 等同于 window.location = 'http://www.baidu.com'
这种方式会讲新地址放到浏览器历史栈中,意味着转到新页面后“后退按钮”仍可以回到该页面。 - location.replace( url )
- 与assign方法一样,但会从浏览器历史栈中删除本页面,也就是说跳转到新页面后“后退按钮”不能回到该页面。目前IE、Chrome只是简单的跳转,只有Firefox会删除本页面的历史记录。
- location.reload( force )
- 重新载入当前页面。force为true时从服务器端重载;false则从浏览器缓存中重载,默认值false。
属性 | 含义 | 值 |
---|---|---|
protocol: | 协议 | "http:" |
hostname: | 服务器的名字 | "b.a.com" |
port: | 端口 | "88" |
pathname: | URL中主机名后的部分 | "/index.php" |
search: | "?"后的部分,又称为查询字符串 | "?name=kang&when=2011" |
hash: | 返回"#"之后的内容 | "#first" |
host: | 等于hostname + port | "b.a.com:88" |
href: | 返回当前页面的完整URL | "http://www.a.com:88/index.php?name=kang&when=2011#first" |
js关于数组操作:
concat() 连接两个或更多的数组,并返回结果。
copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中。
entries() 返回数组的可迭代对象。
every() 检测数值元素的每个元素是否都符合条件。
fill() 使用一个固定值来填充数组。
filter() 检测数值元素,并返回符合条件所有元素的数组。
find() 返回符合传入测试(函数)条件的数组元素。
findIndex() 返回符合传入测试(函数)条件的数组元素索引。
forEach() 数组每个元素都执行一次回调函数。
from() 通过给定的对象中创建一个数组。
includes() 判断一个数组是否包含一个指定的值。
indexOf() 搜索数组中的元素,并返回它所在的位置。
isArray() 判断对象是否为数组。
join() 把数组的所有元素放入一个字符串。
keys() 返回数组的可迭代对象,包含原始数组的键(key)。
lastIndexOf() 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
map() 通过指定函数处理数组的每个元素,并返回处理后的数组。
pop() 删除数组的最后一个元素并返回删除的元素。
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reduce() 将数组元素计算为一个值(从左到右)。
reduceRight() 将数组元素计算为一个值(从右到左)。
reverse() 反转数组的元素顺序。
shift() 删除并返回数组的第一个元素。
slice() 选取数组的的一部分,并返回一个新数组。
some() 检测数组元素中是否有元素符合指定条件。
sort() 对数组的元素进行排序。
splice() 从数组中添加或删除元素。
toString() 把数组转换为字符串,并返回结果。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值
关于JavaScript的操作的更多相关文章
- javascript DOM 操作 attribute 和 property 的区别
javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...
- javascript DOM 操作
在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...
- select元素javascript常用操作 转
/*------------------------------------------------------ *作者:xieyu @ 2007-08-14 *语言:JavaScript *说明:s ...
- javascript DOM操作之 querySelector,querySelectorAll
javascript DOM操作之 querySelector,querySelectorAll
- JavaScript 节点操作Dom属性和方法(转)
JavaScript 节点操作Dom属性和方法 一些常用的dom属性和方法,列出来作为手册用. 属性: 1.Attributes 存储节点的属性列表(只读) 2.childNodes 存储 ...
- JavaScript动态操作style
1.易错:修改元素的样式不是设置class属性,而是className属性.class是JS的一个保留关键字. 2.易错:单独修改样式的属性使用"style.属性名"3.注意在cs ...
- RX学习笔记:JavaScript数组操作
RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...
- Javascript 文件操作(整理版)
Javascript 文件操作 一.功能实现核心:FileSystemObject 对象 其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象.在详细介绍 ...
- JavaScript cookie操作实现点赞功能
JavaScript cookie操作实现点赞功能 参考实现原理,但是代码不够简洁,简洁代码参考:js操作cookie 实现一个点赞功能十分简单,主要问题在于不能重复点赞. 若是一个有用户的网站,可 ...
- javascript array操作
首先来看一下怎么判断一个对象是不是数组: 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...
随机推荐
- 深度学习原理与框架-递归神经网络-RNN_exmaple(代码) 1.rnn.BasicLSTMCell(构造基本网络) 2.tf.nn.dynamic_rnn(执行rnn网络) 3.tf.expand_dim(增加输入数据的维度) 4.tf.tile(在某个维度上按照倍数进行平铺迭代) 5.tf.squeeze(去除维度上为1的维度)
1. rnn.BasicLSTMCell(num_hidden) # 构造单层的lstm网络结构 参数说明:num_hidden表示隐藏层的个数 2.tf.nn.dynamic_rnn(cell, ...
- i386 x86_64 armv7 arm64
arm7: Used in the oldest iOS 7-supporting devices arm7s: As used in iPhone 5 and 5C arm64: For the 6 ...
- python中的异常处理常用方法
异常处理 什么是异常? 异常就是与正常情况不同,程序在执行过程中出现错误,导致无法执行完毕.异常其实就是代码执行过程中出错. 常见的一些异常 AttributeError 试图访问一个对象没有的属性, ...
- txt,csv,json互相转化
也没啥,记下来怕忘了.说明都在代码里面: 麻蛋,这个着色好难看 import csv import json #从txt变为csv student_txt=[]; with open("st ...
- Echarts绘制横向柱状图
效果图: 关键配置: 将xAxis的type设置为value, 将yAxis的type设置为category即可实现横向显示
- Vue.js连接后台数据jsp页面  ̄▽ ̄
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- elasticsearch template
# curl -XPUT localhost:9200/_template/template_1 -d '{"template" : "te*","s ...
- BM递推
从别的大佬处看到的模板 #include<bits/stdc++.h> #define fi first #define se second #define INF 0x3f3f3f3f ...
- python学习笔记(三)- 字典、集合
字典:key-value形式 1)取数据方便 #字典里面没有重复的key 2)查询速度快 #字典是无序的 一.定义一个字典 infos = { 'name':'王小明', 'sex':'male' ...
- java简单的文件读写工具类
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...