js基础篇(二)
来源:互联网 发布:手机动漫模型软件 编辑:程序博客网 时间:2024/06/03 20:58
js之数据域
1.浏览器:找一些东西,var (function) 参数 预先存储 var function1.所有的变量在代码正式运行之前,全都赋了一个值,undefined所有函数,在正式运行之前都是整个函数块。2.逐行解读代码表达式可以改变预解析的值(函数不可以)2. window.onload = function () { var a = 1; function f1() { var b = 2; var c = 5; function f2() { c = 3; alert(a + b + c); //6 } f2(); }; f1(); alert(c); //not defined window.c //undefined };3.一直找到全局变量为止!1.函数内->2.参数->3.上一个作用域->4.全局window.xxx 如果没有不会报错,undefined。function f1() { alert(c); c = 5; 代码一行一行执行,c还没有变为全局变量时就已经报错了。}4.(function() {})();匿名函数直接调用。立即执行,不污染全局。(function(window,undefined) {})(window);传入window是为了提高速度,在多个函数的嵌套中,不需要去找全局变量不传入undefined是为了安全,因为ff,IE可以对其赋值,undefined = 4;直接在内部声明var undefined; var a = 1; function test(a) { alert(a); }; test(); undefined; 在不传入参数的情况下,默认其实已经传入参数为undefined.
js数组
1.json形式的对象 key ---- value; var json = { 'name' : 'Aifald', //推荐属性名称使用字符串 'age' : 32 }2.数组的几种创建方式:var arr = new Array();var arr = new Array(10); //当只有一个数字时被当做长度var arr = new Array('10'); //字符当做是内容var arr = new Array(1,2,3,4);var arr = []; //推荐使用删除数组的方式:arr.length = 0;arr = [] //效率稍高,推荐使用var string = 'string';string.length = 1;alert(string.length);str = 'paulo'; //内容改变了 可以被重新赋值。 //字符串是不可以改变的包括属性,本身自己的值。3.pop(); 返回最后删除的元素shift(); 返回最先删除的元素push(); 返回长度unshift(); 返回长度arr.unshift(arr.pop()) 将最后的加在前面arr.push(arr.shift()) 将最前面的加在最后面splice(start,length,add); 返回删除的元素(数组) 利用其删除特性可以进行数组去重。(双重循环)4.排序默认的情况下,所有的全部按照(编码进行比较)排序。var arr = [1,2,3,78,8]; //默认按照字符串来排序,78 < 8arr.sort(); //返回原来的数组arr.sort(function (a,b) { return a - b; //正数交换,负数不交换});arr.sort(function (a,b) { return Math.random() - 0.5; //随机排序 Math.round(Math.random() * (1 - (-1))) + (-1); // -1 ~ 1之间});console.log(Math.round(Math.random() * (y - x)) + x); //x到y之间5. console.log(arr.concat(arr1,arr2)); console.log(arr); //不改变原来的数组,返回连接的数组 arr.reverse(); //改变原来数组,返回翻转的数组 var newStr = str.split('').reverse().join(''); //翻转字符串/////////////////////////////////////////////////////////////////////////push(),pop(),shift(),unshift(),splice(),concat(),reverse(),sort();
js之日期
1. var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间2.oImg[i].src = 'img/' + str1.charAt(i) + '.jpg';根据每个字符数字来决定用哪张图片。3. 创建倒计时 iNow = new Date(); time = Math.floor((iNew - iNow) / 1000); var str = Math.floor(time/86400) + '天' + Math.floor(time%86400/3600) + '时' + Math.floor(time%86400%3600/60) + '分' + Math.floor(time%60) + '秒'; aInp[1].value = str; if(time <= 0) { clearInterval(timer); alert('0'); }},1000);// March 29,2017 12:00:00
js之滚轮
1. 滚轮事件:ie/chrome :onmousewheel firefox: DOMMouseScroll 必须用addEventListener2. 属性(数字):event.wheelDelta 120 -120 event.detail -3 33. if(event.wheelDelta) { b = event.wheelDelta > 0 ? true : false; } else { b = event.detail < 0 ? true : false; } 根据属性值的正负判断是否为滚轮向上或者向下4. return false 阻止的默认行为是DOM0事件 obj.on事件 = fn;和IE下的attachEvent addEventListener绑定的事件阻止默认行为用 preventDefault; cookie5.一个域名下的cookie个数是有限的,而且不同浏览器的个数不一样。 每一个cookie存放内容的大小有限,每个浏览器也是不一致的。 如果想长时间存储cookie必须设置一个过期的时间。 cookie默认是临时存储的。当关闭浏览器进程的时候自动销毁。6. IE:必须expires= + 字符串格式的时间 date.toGMTString(); 内容最好编码存放:处理一些特殊的字符 \n等。 encodeURI(string); decodeURI(string); cookie是以 (; )分号和空格分隔 document.cookie.split('; ') 删除一个cookie只要设置过期的时间就可以给了。document.cookie = 'username = ' + encodeURI('你好Airfald\npaulo') + ';expires = ' + oDate.toGMTString();
阅读全文
0 0
- js基础篇(二)
- js 基础(二)
- JS基础(二)
- JS基础学习篇(二)
- Node.js基础(二)
- node.js基础(二)
- js基础提高(二)
- JS基础语法(二)
- JS基础(二)-----JS语法
- 【Node.js基础篇】(二)Node模块的使用
- JS基础加强部分(二)
- JS温习:基础(二)运算符
- JS基础回顾(二)--数组
- js(二)——基础语法
- js基础之自定义属性(二)
- javaScipt--------基础入门(二)---->js对象
- js基础二
- JS基础二
- rocketmq顺序消费
- 编译opencv库的注意事项
- 用Javascript写简单计算器
- 计蒜客第五场过后……
- sublime markdown 配色
- js基础篇(二)
- Spring 声明式事务中使用注解@Transactional的方式、原理及注意事项
- 第一次python笔记
- codeforces799E Aquarium decoration
- 标准通用标记语言(SGML)
- JavaScript闭包
- LabVIEW生成任意波形
- 如何将 ASP.Net Web API 在 IIS 服务器上托管
- 如何安装Linux系统