js-知识集锦
CreateTime--2016年9月22日14:37:51
Author:Marydon
js小知识点集锦
1.
JSON.stringify(Obj);//将Object对象转换成json格式的string类型字符串
2.===与==
1、对于string,number等基础类型之间的比较,==和===是有区别的
1)不同类型间比较,
== 比较的是:判断两边转化成同一类型后的值是否相等,
===如果类型不同,其结果就是不等
2)同类型比较,直接进行“值”比较,两者结果一样
2、对于Array,Object等高级类型之间的比较,==和===是没有区别的
进行“指针地址”比较
3、基础类型与高级类型的比较,==和===是有区别的
1)对于==,将高级转化为基础类型,进行“值”比较
2)因为类型不同,===结果为false
3.函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!
Js代码
function f1(){
n=999;
}
f1();//需要调用,不能省略
alert(n); //
(function() {
var Obj2 = {};
var name = "方法二"; //或Obj2.name = "方法二"
Obj2.method1 = function() {
console.log("方法二进行测试");
return name;
}
window.GlobalObj2 = Obj2;
})();
var name = GlobalObj2.method1();//获取的是返回值name
var method = GlobalObj2.method1;//获取的是对象GlobalObj2的method1()方法
UpdateTime--2016年10月16日15:50:02
4.js获取后台数据
前提:js代码必须写在本页面中,外部引用的js文件不用使用下面的方法
//方法一
var test = '${model}';
//方法二
var test = '<%=request.getAttribute("model")%>';
js里面可以嵌套jstl标签
UpdateTime--2016年10月31日10:06:12
5.
event.keyCode;//获取键的编码 火狐不支持
<script>
var globalFunction = new GlobalFunction();
function GlobalFunction () {
this.listenKeyCode = function listenKeyCode () {
if (event.keyCode == 13) {//event.keyCode = 9;//tab键
console.log("您按的是回车键");
}
}
}
</script>
<input type="text" name = "text1" onkeydown = "globalFunction.listenKeyCode()">
注:火狐用的是event.which
7.document.write()与document.out()
document.write()会将body标签的内容替换掉;
document.out()则只有在jsp页面才能使用,不属于js的范畴
8.appendChild()与insertBefore()
//新建一个div元素节点
var div=document.createElement("div");
div.innerText = "helloworld";
//把div元素节点添加到body元素节点中成为其子节点,但是放在body的现有子节点的最后
document.body.appendChild(div);
//插入到最前面
document.body.insertBefore(div, document.body.firstElementChild);
9.document.createElement();//动态创建元素
var dialog = document.createElement('div');
var img = document.createElement('img');
var btn = document.createElement('input');
var content = document.createElement('span');
10.动态添加样式
通用属性用".",自定义属性用"setAttribute('customizeName','value')"
// 添加class
dialog.className = 'dialog';
//添加id
dialog.id = 'top';
// 属性
img.src = 'close.gif';
// 样式
btn.style.paddingRight = '10px';
// 文本
span.innerHTML = '您真的要GG吗?';
// 在容器元素中放入其他元素
dialog.appendChild(img);
dialog.appendChild(btn);
dialog.appendChild(span);
注:
a.8,9,10有连接关系;
b.添加class属性调的是"className"
11.event事件
window.event代表着事件对象的状态。只有在事件发生时生效。如鼠标、键盘等事件被触发时这个对象才存在。window.event这只在IE下是这样的。他并不是标准。也就是说其他浏览器并不支持。在W3C标准支持的浏览器下事件对向是引发事件函数的第一个参数,参数名随意
//获取event对象
//方法一
var theEvent = window.event || arguments.callee.caller.arguments[0];
//方法二
将event作为参数来传递:
function eventListener(evt){
var theEvent = window.event || evt;
}
<input id="test" type="text" oncopy="javascript:eventListener(event);"/>
//捕获当前事件作用的对象
var srcElement = theEvent.srcElement? theEvent.srcElement : theEvent.target;
综上:
/**
* 监听事件,捕获当前事件作用的对象并对该对象执行操作
* @param {Object} obj
*/
function eventListener(evt){
//推荐使用
var theEvent = window.event || arguments.callee.caller.arguments[0] || evt;
var srcElement = theEvent.srcElement? theEvent.srcElement : theEvent.target;
alert(srcElement.value);
}
<input id="test" type="text" oncopy="javascript:eventListener(123)"/>
注意:
火狐获取事件的方法是:arguments.callee.caller.arguments[0]
UpdateTime--2018年2月28日11:15:16
12.函数内可以嵌套函数
function test() {
alert(1);
function test2() {
alert(2);
}
test2();
}
//调用
test();
注意:
函数不能放到window.onload函数里面
window.onload = function() {
function test() {
alert(1);
}
test();// 不执行
}
js-知识集锦的更多相关文章
- 通用js函数集锦<来源于网络> 【二】
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...
- 通用js函数集锦<来源于网络/自己> 【一】
通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...
- Java知识集锦
Java知识集锦 一.Java程序基础 1.1 开发和运行环境 1.2 Java语言概述 二.Java语法基础 2.1 基础类型和语法 2.2 对象和类型 2.3 包和访问控制 三.数据类型及类型转换 ...
- 【Todo】React & Nodejs学习 &事件驱动,非阻塞IO & JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可
JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可 今天在学习ReactJS和NodeJS,看到关于ReactJS的这篇文章 ...
- jQuery知识集锦
CreateTime--2017年2月16日14:00:22Author:MarydonjQuery知识集锦1.empty()与remove()的区别 <select id="ty ...
- php常用知识集锦
php常用知识集锦 很多位置都有写好的代码,自己做项目的时候可以直接拿来用,而不用自己写,比如现在看到的菜鸟教程. 1.判断是否为空 empty($_POST["name"]) 2 ...
- js知识梳理6:关于函数的要点梳理(2)(作用域链和闭包)
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...
- js知识梳理5:关于函数的要点梳理(1)
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...
- js知识梳理4.继承的模式探究
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...
- js知识梳理3:创建对象的模式探究
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...
随机推荐
- asp.net MVC 3/4 equivalent to a response.filter
am in a need to intercept all of the html that will be sent to the browser and replace some tags tha ...
- FT项目开发技术点(二)
1.mybatis二级缓存,指的的是将数据缓存,而非对象,而非获得的list.缓存将数据库中的数据,是数据,缓存到内存中.之后将数据每次重新加载到list中,所以每次生成的list对象都是不同的,li ...
- python笔记30-docstring注释添加变量
前言 python里面添加字符串注释非常简单,如何将变量放入 python 的函数注释里面呢? docstring也就是给代码加注释的内容了,python可以给函数,类.方法,模块添加注释内容,注释标 ...
- Selenium2+python自动化55-unittest之装饰器(@classmethod)
前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以 ...
- DWZ SSH2 菜单树--使用Struts2 标签(iterator/set/if 组合使用)
最近在研究DWZ框架,然后要写一个菜单树,后台我使用了SSH2,然后想把菜单通过后台传过来的对象展示出来. 但是,发现应用样式的时候,如果子菜单在子循环中为空的话,会多出一对空标签“<ul> ...
- strtok()函数
strtok()这个函数大家都应该碰到过,但好像总有些问题, 这里着重讲下它 首先看下MSDN上的解释: char *strtok( char *strToken, const char *strDe ...
- 第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
注意:本文主要参考自<深入理解Java虚拟机(第二版)> 说明:查看本文之前,推荐先知道JVM内存结构,见<第一章 JVM内存结构> 1.内存回收的区域 堆:这是GC的主要区域 ...
- [leetcode]Convert Sorted Array to Binary Search Tree @ Python
原题地址:http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ 题意:将一个排序好的数组转换为一颗二叉 ...
- 删除在Godaddy注册的域名,申请退款的全过程
1,删除域名. 登录进 Godaddy ,进入域名管理(Domain Manager),点击你要删除的域名,把要删除的域名前面打上对勾,再点击“delete selected”,确认,稍等一会就删除了 ...
- (step4.1.2)hdu 1969(Pie——二分查找)
题目大意:n块馅饼分给m+1个人,每个人的馅饼必须是整块的,不能拼接,求最大的. 解题思路: 1)用总饼的体积除以总人数,得到每个人最大可以得到的V.但是每个人手中不能有两片或多片拼成的一块饼. 代码 ...