js

JS 数组常用的方法

社会主义新天地 提交于 2020-02-07 01:54:33
数组常用的方法: x.toString()方法:任何对象都有toString方法。         将任何对象转为字符串。         一般不主动调用,系统在需要时自动调用 x.valueOf()方法:同toString() 基本完全一样。 var str = arr.join("分隔符"):将数组转为字符串。但是可以自定义分隔符! 默认符号为逗号 用法:将字符拼接为单词或句子。 固定用法: chars.join(''); <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> var chars=['H','e','l','l','o']; var str=chars.join(''); document.write(chars+"<br/>"); document.write(str+"<br/>"); </script> </body> </html> var newArr = arr.concat(元素值,[数组],.......):将参数拆散成单个元素,追加到数组中。 *不会修改原数组,只能返回新数组对象* 实例:需要一个newArr接住连接后的数组 不会修改原数组 <

Ext JS 学习笔记

ⅰ亾dé卋堺 提交于 2020-02-07 01:12:09
对于scope使用的几个小技巧: Four Tips for Staying on Track With Scope in ExtJS 如何在ExtJS(Javascript)里面拷贝(克隆)一个Object 对于ExtJS可以使用这段代码: /** * Clone Function * @param {Object/Array} o Object or array to clone * @return {Object/Array} Deep clone of an object or an array * @author Ing. Jozef Sakáloš */ Ext.ux.util.clone = function(o) { if(!o || 'object' !== typeof o) { return o; } if('function' === typeof o.clone) { return o.clone(); } var c = '[object Array]' === Object.prototype.toString.call(o) ? [] : {}; var p, v; for(p in o) { if(o.hasOwnProperty(p)) { v = o[p]; if(v && 'object' === typeof v) { c[p] = Ext

js如何获取object类型里的键值

孤街浪徒 提交于 2020-02-07 01:11:18
最近遇到一个问题: var obj = {"name1":"张三","name2":"李四"}; var key = "name1"; var value = obj.key;//得到了"undefined" value = obj.name1;//得到了"张三" 其实我是想动态给key赋值,然后得到key为多少所对就的值。但这种做法行不通,obj.key会去找obj下key为"key"所对应的值,结果当然是找不到喽。 于是,我想到了js中遍历对象属性的方法: function printObject(obj){ //obj = {"cid":"C0","ctext":"区县"}; var temp = ""; for(var i in obj){//用javascript的for/in循环遍历对象的属性 temp += i+":"+obj[i]+"\n"; } alert(temp);//结果:cid:C0 \n ctext:区县 } 这样,就可以清楚的知道js中一个对象的key和value分别是什么了。 回到刚才的问题,怎么动态给key赋值,然后以obj.key的方式得到对应的value呢? 其实以上printObject中有提示,那就是用obj[key]的方法,key可以是动态的,这样就解决了我上面提出的问题了。 最后说一下,还有一个方法也可以,那就是:eval("obj."

js 异步执行顺序

柔情痞子 提交于 2020-02-07 01:07:43
1.js的执行顺序,先同步后异步 2.异步中任务队列的执行顺序: 先微任务microtask队列,再宏任务macrotask队列 3.调用Promise 中的resolve,reject属于微任务队列,setTimeout属于宏任务队列 注意以上都是 队列,先进先出。 微任务包括 `process.nextTick` ,`promise` ,`MutationObserver`。 宏任务包括 `script` , `setTimeout` ,`setInterval` ,`setImmediate` ,`I/O` ,`UI rendering`。 在node环境下,process.nextTick的优先级高于Promise,也就是可以简单理解为:在宏任务结束后会先执行微任务队列中的nextTickQueue部分,然后才会执行微任务中的Promise部分。 javascript事件机制 题目1: console.log('script start') async function async1() { await async2() console.log('async1 end') } async function async2() { console.log('async2 end') } async1() setTimeout(function() { console.log(

js如何获取object类型里的键值

孤街浪徒 提交于 2020-02-07 01:05:20
最近遇到一个问题: 复制代码 代码如下: var obj = {"name1":"张三","name2":"李四"}; var key = "name1"; var value = obj.key;//得到了"undefined" value = obj.name1;//得到了"张三" 其实我是想动态给key赋值,然后得到key为多少所对就的值。但这种做法行不通,obj.key会去找obj下key为"key"所对应的值,结果当然是找不到喽。 于是,我想到了js中遍历对象属性的方法: 复制代码 代码如下: function printObject(obj){   //obj = {"cid":"C0","ctext":"区县"};   var temp = "";   for(var i in obj){//用javascript的for/in循环遍历对象的属性     temp += i+":"+obj[i]+"\n";   }   alert(temp);//结果:cid:C0 \n ctext:区县 } 这样,就可以清楚的知道js中一个对象的key和value分别是什么了。 回到刚才的问题,怎么动态给key赋值,然后以obj.key的方式得到对应的value呢? 其实以上printObject中有提示,那就是用obj[key]的方法,key可以是动态的

JS post提交表单

懵懂的女人 提交于 2020-02-07 01:04:15
js post方式提交表单有两种办法,1:AJAX提交 2:在JS里拼出一个form,然后submit 第二种办法的代码 Java代码 //这个主要是解决给password MD5 var email = 'email'; var pwd = 'password'; var postForm = document.createElement("form");//表单对象 postForm.method="post" ; postForm.action = 'login. jsp x' ; var emailInput = document.createElement("input") ; //email input emailInput.setAttribute("name", "email") ; emailInput.setAttribute("value", email); postForm.appendChild(emailInput) ; var pwdInput = document.createElement("input");// password input pwdInput.setAttribute("name","password"); pwdInput.setAttribute("value",pwd); postForm.appendChild

js 异步执行顺序

江枫思渺然 提交于 2020-02-07 00:59:05
参考文章: js 异步执行顺序 1.js的执行顺序,先同步后异步 2.异步中任务队列的执行顺序: 先微任务microtask队列,再宏任务macrotask队列 3.调用Promise 中的resolve,reject属于微任务队列,setTimeout属于宏任务队列 注意以上都是 队列,先进先出。 微任务包括 `process.nextTick` ,`promise` ,`MutationObserver`。 宏任务包括 `script` , `setTimeout` ,`setInterval` ,`setImmediate` ,`I/O` ,`UI rendering`。 题目1: console.log('script start') async function async1() { await async2() console.log('async1 end') } async function async2() { console.log('async2 end') } async1() setTimeout(function() { console.log('setTimeout') }, 0) new Promise(resolve => { console.log('Promise') resolve() }) .then(function() {

JS一部分基础复习

断了今生、忘了曾经 提交于 2020-02-07 00:53:47
主要事件:用于表单 6个事件(onfocus:聚焦,onblur:失焦,onclick: 点击, onchange:内容改变后触发, onload:加载, onsubmit:提交) HTML事件处理方式: JS事件处理方式: 容易出错的地方: 1.表单中一般 不建议用button 来写 2.一般表单校验的事件,都会用form的onsubmit事件配套提交按钮(type="submit") 3.t ype="submit" 的时候,不能画蛇添足加 onclick 事件 bom:浏览器对象模型(browser object model)提供了浏览器窗口进行交互的对象(主要作用在于管理窗口和窗口的通讯) 2.bom由一系列的对象构成,这些对象有属性也有方法 1.window对象:窗口对象 (1). window.alert(); (2).window.prompt(); //提示框 var like = window.prompt("请输入你的爱好!", "吃瓜"); if (like != null && like != "") { console.log("我的爱好是" + like); } (3).window.confim(); var flag = window.confirm("请问你喜欢我吗?"); var msg = document.getElementById(

JavaWeb(4)-JS对象_bom,dom,document,element,node

不打扰是莪最后的温柔 提交于 2020-02-07 00:50:10
JS对象_2 js的bom对象 对象: navigator screen location history window js的dom对象 解析过程 node接口的特性和方法 DHTML js的document对象 常用方法 getElementById() getElementsByName() getElementsByTagName() write() element对象 getAttribute() setAttribute() removeAttribute() Node对象的属性 nodeName,nodeType,nodeValue 父节点,子节点,同辈节点 操作DOM树 appendChild() insertBefore(newNode,oldNode) removeChild() replaceChild(newNode,oldChild) cloneNode(boolean) innerHTML属性 js的bom对象 browser object model浏览器对象模型 对象: navigator 获取客户机(浏览器)的信息 navigator.appName screen 获取屏幕的信息 screen.width,screen.height location 请求url地址,href属性(获取请求的url地址 location.href 设置url地址)

js_单例设计模式

淺唱寂寞╮ 提交于 2020-02-07 00:40:27
实现单例模式 单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式的实现:主要通过创建一个标志变量来保存第一次创建过的实例,当下一次获取该类的实例时进行判断标志变量是否已经被赋值,如果已被赋值直接返回标志位上保存的值。 //第一种 var Singleton = function ( name ) { this . name = name ; this . instance = null ; } ; Singleton . prototype . getName = function ( ) { alert ( this . name ) ; } ; Singleton . getInstance = function ( name ) { if ( ! this . instance ) { this . instance = new Singleton ( name ) ; } return this . instance ; } ; var a = Singleton . getInstance ( 'sven1' ) ; var b = Singleton . getInstance ( 'sven2' ) ; alert ( a === b ) ; // true //第二种 var Singleton = function ( name )