javascript与事件
javascript与事件
js常用事件
- js捕捉回车键
- js回调函数的event参数(一直都有传,就看你有没有接,有没有接的需求)
- event.keyCode(事件句柄:onkeydown)
- keyup事件
js回调函数概念
- 某事件发生时,执行某函数
js代码的执行顺序
- 注意加载元素与对元素进行操作的前后关系
js运算符
void运算符
<a href="javascript:void(0)" onclick="window.alert('test code')" />
//既保存超链接样式,点击之后执行一段js代码,同时又不能完成页面跳转
//void(表达式)执行表达式,但是不返回任何结果
js控制语句
常见控制语句
js特殊的控制语句
for...in...
with语句
<script type="text/javascript"> //js for..in..的两个使用场景 //场景一:对象
alert("场景1:对象");
function User(username, password) {
this.username = username;
this.password = password;
} var user = new User("xun", "just a test"); for(var value in user){
alert(typeof value);
alert(value);
alert(user[value]);
} //场景二:数组
alert("场景2:数组");
var arry = [false, true, 3.14, "test"];
for(var index in arry){
alert(typeof index);
alert(index);
alert(arry[index]);
} //js with(带上)语句
with(user){
alert(username + "," + password);
//相当于:alert(user.username + "," + user.password)
}
</script>
js内置数组对象Array
- 对数组越界问题做了内部处理,未定义的为undefined
- 常用方法
<!DOCTYPE html>
<html lang="en">
<head>
<title>js内置数组对象</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//js内置数组对象Array
var array1 = new Array();
alert(array1.length);
var array2 = new Array(3);
alert(array2.length);
var array3 = new Array(2, 3);
alert(array3.length);
//常用:var array = [];
//特点:自动扩容
//内置数组对象常用方法
var array4 = array3.reverse(); //数组3自身元素也发生了反转
alert("array3: " + array3.join("-"));
alert("array4: " + array4.join("-"));
//js内置数组对象可以模拟数据栈
array3.push(1);
alert("array3: " + array3.join("-"));
var lastElt = array3.pop();
alert("last element: " + lastElt);
</script>
</body>
</html>
js的BOM编程
window.open 与window.close
- window.open(url, 新窗口打开位置)
- window.close()关闭当前窗口
window.confirm()确认框
- 确定,返回true
- 取消,返回false
window.history.
- window.history.go(1/-1)前进/后退
- window.history.back()后退
window.location.href 或者 document.location.href (href可以去掉)
设置当前窗口为顶级窗口
if(window.top != window.self){
window.top.location = window.self.location
}
图解BOM与DOM
JSON
- eval函数
<!DOCTYPE html>
<html lang="en">
<head>
<title>eval函数</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var jsonData = "{\"username\":\"zhangsan\", \"password\":\"123\"}";
window.eval("var jsonObj = " + jsonData);
alert(jsonObj.username + "," + jsonObj.password);
</script>
</body>
</html>
javascript与事件的更多相关文章
- jQuery $(document).ready()和JavaScript onload事件
jQuery $(document).ready()和JavaScript onload事件 Why we need a right time? 对元素的操作和事件的绑定需要等待一个合适的时机,可以看 ...
- Javascript事件模型系列(四)我所理解的javascript自定义事件
被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情,公司的个人的,搞的自己心烦意乱浮躁了一 ...
- javascript通用事件封装
随着最近几年Html5的兴起,越来越多的应用采用html5进行实现,一个优秀的网页应用不但需要美观简洁的UI界面,更需要一个良好的交互.网页应用大部分的交互需要用javascript事件进行实现.虽然 ...
- javascript的事件
前戏 今天在博客中看到了javascript的事件机制,就自己试试写一个简单的冒泡捕获测试,但是测试结果出乎了我的意料,主要是自己原来对事件了解不是很清楚,现在写篇博客记录下. 基础 先来看一下我在A ...
- javascript对象事件绑定方法
javascript对象事件绑定方法 今天在做对象事件绑定的过程中出现了一点异外情况,由于事件方法是由参数传过来的,需要将当前对象call过去,方便方法体里直接调用this 错误写法 obj.oncl ...
- JavaScript的事件代理(转)
如果你想给网页添加点JavaScript的交互性,也许你已经听过JavaScript的事件代理(event delegation),并且觉得这是那些发烧友级别的JavaScript程序员才会关心的什么 ...
- [转]javascript指定事件处理程序包括三种方式:
javascript指定事件处理程序包括三种方式: (1):DOM0级事件处理程序 如: 代码如下: var btn=document.getElementById("mybtn" ...
- JavaScript中事件绑定的方法总结
最近收集了一些关于JavaScript绑定事件的方法,汇总了一下,不全面,但是,希望便于以后自己查看. JavaScript中绑定事件的方法主要有三种: 1 在DOM元素中直接绑定 2 JavaScr ...
- JavaScript的事件监听、捕获和冒泡
在前端开发中,我们经常需要对某些事件进行监听.这样只要在指定的元素上触发了该事件,就会执行一个回调函数来进行相关的操作. 而JavaScript中事件监听的方法总共有三种,分别如下: element. ...
- JavaScript 计时事件
JavaScript 计时事件 通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行.我们称之为计时事件. 在 JavaScritp 中使用计 ...
随机推荐
- http缓存策略以及强缓存和协商缓存浅析
http缓存策略以及强缓存和协商缓存浅析 本地缓存-强缓存 本地缓存,也就是我们常说的强缓存:是指当浏览器请求资源时,如果请求服务端的资源命中了浏览器本地的缓存资源,那么浏览器就不会发送真正请求给服务 ...
- SQL中常用的字符串LEFT函数和RIGHT函数详解!
今天继续整理日常可能经常遇到的一些处理字符串的函数,记得点赞收藏!以备不时之需!看到最后有惊喜! LEFT(expression, length)函数 解析:从提供的字符串的左侧开始提取给定长度的字符 ...
- PyTorch框架起步
PyTorch框架基本处理操作 part1:pytorch简介与安装 CPU版本安装:pip install torch1.3.0+cpu torchvision0.4.1+cpu -f https: ...
- BERT的优化演进方法汇总(持续更新)
模型结构演进 本文以演进方向和目的为线索梳理了一些我常见到但不是很熟悉的预训练语言模型,首先来看看"完全版的BERT":RoBERTa: A Robustly Optimized ...
- BZOJ4713 迷失的字符串 解题报告
BZOJ4713 题目大意:有 \(n\) 个点 \(n-1\) 条边,每条边有一个字符.给你 \(m\) 个字符串 \(s_i\),问每个字符串是否可以通过树上的一条简单路径表示. \(n,m\le ...
- 史上最全Spring Cloud Alibaba--Nacos教程(涵盖负载均衡、配置管理、多环境切换、配置共享/刷新、灰度、集群)
能够实现Nacos安装 基于Nacos能实现应用负载均衡 能基于Nacos实现配置管理 配置管理 负载均衡 多环境切换 配置共享 配置刷新 灰度发布 掌握Nacos集群部署 1 Nacos安装 Nac ...
- Win10 pycharm中显示PyTorch tensorboard图
import numpy import numpy as np import torch import matplotlib.pyplot as plt import torch.nn as nn i ...
- C#判断数组或集合中是否含有属性值为value的对象
/// <summary> /// 判断list中是否有某个对象的Id_srvplan为value /// </summary> /// <param name=&quo ...
- CMU15445 之 Project#0 - C++ Primer 详解
前言 这个实验主要用来测试大家对现代 C++ 的掌握程度,实验要求如下: 简单翻译一下上述要求,就是我们需要实现定义在 src/include/primer/p0_starter.h 中的三个类 Ma ...
- python之多进程and多线程
图文来自互联网 一.什么是进程和线程 (https://jq.qq.com/?_wv=1027&k=rX9CWKg4) 进程是分配资源的最小单位,线程是系统调度的最小单位. 当应用程序运行时最 ...