JS补充笔记
<script>
函数:
普通函数:
function func(){
}
匿名函数:
setInterval("func()",5000);
setInterval(function(){console.log(123)},5000)
自执行函数(创建函数并且自动执行):
function func() { }
func() (function(arg){console.log(arg);})(1) 序列化:
li=[1,2,3,4]
JSON.stringify(li) 将列表对象转化为字符串
JSON.parse(str) 将字符串转化为列表对象 转义:
客户端(cookie)请求服务器端
将数据转义之后保存到cookie里面 eval
python:
val =eval(表达式)
exec(执行代码)
JavaScript:
eval
时间:
Date类
var d=new Date()
d.getxxx 获取
d.setxxx 设置
作用域:
五句话搞定JavaScript作用域
其他语言:以代码块作为作用域
python中是以函数作为作用域的
javascript:以函数作为作用域(let)
function def() {
if(1==1){var name = 'za'};
console.log(name);
}
def ()
2.函数的作用域在函数未被调用之前,已经创建
3、函数的作用域存在作用域链,并且也是在被调用之前创建
a = '123';
function def(){
var a = '456';
function inner(){
console.log(a);
}
return inner;
}
var ret = def()
ret()
4、函数内部局部变量提前声明
解释的过程中会执行var a;但是不会赋值
function def() {
console.log(a);
var a= '123'
}
javascript面向对象:
不能将类的方法定义在类里面需要写在原型里面,因为每次创建实例都会创建类的方法,所以要把方法写在原型里面。避免浪费内存
类的创建实例:
function Foo(n) {
this.name = n #相当于self.name
}
#Foo的原型:
Foo.prototype={
'sayname':function () {
console.log(this.name)
}
} DOM:
查找
直接查找/间接查找:
var obj = document.getElementById('i1');
obj.innerText 处理全部文本,不包含当前标签内的标签
obj.innerHTML 包含所有,包括里面的标签
赋值:
obj.innerText='xxxx';
obj.innerHTML= '<a href="www.baidu.com"> xxxx</a>';
value (
针对input value获取当前标签中的值)
select 获取选中的value值(selectedIndex)
textarea value获取当前标签中的值
搜索框的实例:
样式的操作:
obj.className
obj.classList:
obj.classList.add()
obj.classList.remove()
obj.style.fontSize = '16px'
obj.style.backgroundColor = '16px'
obj.style.color = '16px'
属性的操作:
obj.setAttribute()
obj.removeAttribute()
obj.attributes
创建标签并增加到html中
1、字符串形式
2、对象的方式
提交表单:
任何标签都可以通过JavaScript提交表单
其他:
console.log()
alert()
var v=confirm(信息) v为true或false 弹出确认框
刷新
localtion.href 获取当前网页
localtion.href='www.xxxxx'重定向,跳转
localtion.reload() 相当于 localtion.href=localtion.href 刷新功能
定时器:
var obj = setInterval(function () {
console.log(123)
},5000)
clearInterval(obj);清除定时器
定时器只执行一次 5秒后执行
setTimeout(function () {
console.log(123)
},5000)
clearTimeout() 清除定时器
事件:
onclick,onblur,onfocus
面试题:行为。样式。结构相分离的页面?
JS CSS HTML
绑定事件的两种方式
a 直接标签绑定 onclick=‘xxxx()’
b 先获取DOM对象,然后进行绑定
document.getElementById('xx').onclick
document.getElementById('xx').onfocus
this,当前触发事件的标签
a.第一种绑定方式
<input id='i1' type='button' onclick='Clickon(this)'>
function Clickon(self) {
// 当前点击的标签
}
b、第二种绑定方式
<input id='i1' type='button'>
document.getElementById('i1').onclick=function () {}
c、第三种绑定方式
var mydiv=document.getElementById('i1')
mydiv.addEventListener('click',function(){console.log(123)},false);
mydiv.addEventListener('click',function(){console.log(456)},false);
一个事件执行两个函数 false是冒泡模式,当两个div重叠是,点击重叠部分false会先执行上层,true会先执行下层 作用域实例:
var myTrs = document.getElementsByTagName('tr');
var len =myTrs.length;
for(var i=0;i<len;i++){
myTrs[i].onmouseover=function () {
// 谁调用的函数this就会指向谁 为什么使用this而不使用myTrs【i】是因为函数作用域的问题,每次遍历函数的名称都会变
this.style.backgroundColor='red'
}
myTrs[i].onmouseout=function () {
// 谁调用的函数this就会指向谁
this.style.backgroundColor=''
}
}
sublime text emmet插件,方便书写代码
</script>
JS补充笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- js读书笔记
js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- node.js系列笔记之node.js初识《一》
node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...
- JS面向对象笔记二
菜单导航,<JS面向对象笔记一>, 参考书籍:阮一峰之<JavaScript标准参考教程> 一.构造函数和new命令 二.this关键字 三.构造函数和new命令 四.构造函 ...
- WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
随机推荐
- linux运维、架构之路-Kubernetes本地镜像仓库+dashboard部署
一.部署docker registry 生产环境中我们一般通过搭建本地的私有镜像仓库(docker registry)来拉取镜像. 1.拉取registry镜像 [root@k8 ...
- Eclipse搭建Maven项目并上传SVN备份
本文出自:http://www.cnblogs.com/2186009311CFF/p/7226127.html 背景:近段时间在学着Java,想着用Java做BS的项目.但是项目一遇到问题又要重做, ...
- Android 快速索引(城市列表和联系人)
最近需要实现一个城市列表的快速索引功能.类似于联系人应用,根据姓名首字母快速索引功能. 要实现这个功能只需要解决两个问题:1.对列表进行分组(具有同一特征),并且能够快速定位到该组的第一项 2.右侧分 ...
- vim输入操作
在英文状态下按下 键盘上的 ”I“ 使用下箭标移动光标到最下面一行,然后按下END键,按下ENTER键 输入你的内容 按下ESC键,然后输入冒号,即 (:wq) 输入保存流程结束
- flask中的Configuration为何这样写
flask中的Configuration flask中,我们需要用到很多配置.我们知道最简单的flask是: from flask import Flask app = Flask(__name__) ...
- Android.mk【转】
本文转载自:http://android.mk/#simple Secrets of Android.mk Introduction to Android.mk: This document desc ...
- r hive
w r只能处理有限量的数据 pdf 467
- Gradle 编译加速
参考:http://www.jianshu.com/p/200d55b4d40a http://blog.isming.me/2015/03/18/android-build-speed-up/ ht ...
- 查看centos的版本信息
1.查看centos的版本信息 cat /etc/centos-release
- Understanding ECMAScript 6 阅读问题小记
拖了一年说要看这本书,一直都没坚持下来,开个 bo 记录下觉得疑惑的问题,也算鞭策一下自己. 第一章 块级绑定 1. 第一章“块级绑定”下,说 const 变量如果绑定的是对象 Object,那么修改 ...