1. 反转字符串
      1. this.message = this.message
      2. .split("")
      3. .reverse()
      4. .join("");
    1. 页面加载完后执行
      1. $(function() {});
      2. $(document).ready(function() {});
      3. window.onload = function() {};
    1. 页面间跳转
      1. window.location.href = "http://www.baidu.com";
      2. window.location.replace("http://www.baidu.com");
    1. 浏览器前进后退
      1. history.forward(); //前进
      2. history.back(); //后退+刷新
      3. history.back(-1); //后退,直接返回当前页的上一页,数据全部消息,是个新页面
      4. history.go(1); //前进
      5. history.go(-1); //后退也是返回当前页的上一页,不过表单里的数据全部还在
    1. 地址栏传参中文乱码
      1. 传: encodeURI(encodeURI(name));
      2. 接: decodeURI(name);
    1. 几种 js 外层写法 ```javascript
    • jQuery(function () { }); 全写为 jQuery(document).ready(function () { }); 用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。
    • (function () { … })()和(function () { … }())是两种javascript立即执行函数的常见写法. ```
    1. 获取当前鼠标坐标 ```javascript var getCoordInDocumentExample = function() { var coords = document.getElementById(“colorPanel”); coords.onmousemove = function(e) {
      1. var pointer = getCoordInDocument(e);
      2. var coord = document.getElementById("colorText");
      3. coord.innerHTML = "X,Y=(" + pointer.x + ", " + pointer.y + ")";
      }; };

    var getCoordInDocument = function(e) { e = e || window.event; var x = e.pageX || e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft); var y = e.pageY || e.clientY + (document.documentElement.scrollTop || document.body.scrollTop); return { x: x, y: y }; };

    window.onload = function() { getCoordInDocumentExample(); };

    1. 8.
    2. cookie.js 的使用
    3. ```javascript
    4. $.cookie("empNo", empNo, { expires: 7 }); //存
    5. $.cookie("empNo"); //取
    1. JS 辨别访问浏览器判断是 android 还是 ios 系统
      1. var ua = navigator.userAgent.toLowerCase();
      2. if (/iphone|ipad|ipod/.test(ua)) {
      3. console.log("iphone");
      4. } else if (/android/.test(ua)) {
      5. console.log("android");
      6. }
    1. ajax 请求
      1. $(function() {
      2. $.ajax({
      3. type: "post",
      4. async: true, //默认设置为true,所有请求均为异步请求。
      5. url: "http://www.idaima.com/xxxxx.php",
      6. data: {
      7. username: $("#username").val(),
      8. content: $("#content").val()
      9. },
      10. dataType: "json", //xml、html、script、jsonp、text
      11. beforeSend: function() {},
      12. complete: function() {},
      13. success: function(data) {
      14. console.log(data);
      15. },
      16. error: function() {}
      17. });
      18. });
    1. 如何获取 checkbox,并判断是否选中
      1. $("input[type='checkbox']").is(":checked"); //返回结果:选中=true,未选中=false
    1. 获取 checkbox 选中的值
      1. var chk_value = [];
      2. $('input[name="test"]:checked').each(function() {
      3. chk_value.push($(this).val());
      4. });
    1. checkbox 全选 / 反选 / 选择奇数
      1. $("document").ready(function () {
      2. $("#btn1").click(function () {
      3. $("[name='checkbox']").attr("checked", 'true'); //全选
      4. }) $("#btn2").click(function () {
      5. $("[name='checkbox']").removeAttr("checked"); //取消全选
      6. }) $("#btn3").click(function () {
      7. $("[name='checkbox']:even").attr("checked", 'true'); //选中所有奇数
      8. }) $("#btn4").click(function () {
      9. $("[name='checkbox']").each(function () { //反选
      10. if ($(this).attr("checked")) {
      11. $(this).removeAttr("checked");
      12. } else {
      13. $(this).attr("checked", 'true');
      14. }
      15. })
      16. })
      17. })
    1. 获取 select 下拉框的值
      1. $("#select").val();
    1. 获取选中值,三种方法都可以
      1. $('input:radio:checked').val()
      2. $("input[type='radio']:checked").val();
      3. $("input[name='rd']:checked").val();
    1. jQuery 中几个自定义的事件 ```javascript
    • hover(fn1, fn2) :一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。 当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时, 会触发指定的第二个函数。
    • ready(fn): 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
    • toggle(evenFn, oddFn): 每次点击时切换要调用的函数。如果点击了一个匹配的元素, 则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数。 随后的每次点击都重复对这两个函数的轮番调用。
    • trigger(eventtype): 在每一个匹配的元素上触发某类事件。
    • bind(eventtype, fn) ,unbind(eventtype): 事件的绑定与反绑定 ```
    1. 屏幕旋转的事件和样式
      1. function orientInit() {
      2. var orientChk =
      3. document.documentElement.clientWidth >
      4. document.documentElement.clientHeight
      5. ? "landscape"
      6. : "portrait";
      7. if (orientChk == "lapdscape") {
      8. //这里是横屏下需要执行的事件
      9. } else {
      10. //这里是竖屏下需要执行的事件
      11. }
      12. }
      13. orientInit();
      14. window.addEventListener(
      15. "onorientationchange" in window ? "orientationchange" : "resize",
      16. function() {
      17. setTimeout(orientInit, 100);
      18. },
      19. false
      20. );
    1. 软键盘弹出影响定位
      1. <!-- fixed定位
      2. 1.ios下fixed元素容易定位出错,软键盘弹出时,影响fixed元素定位
      3. 2.android下fixed表现要比iOS更好,软键盘弹出时,不会影响fixed元素定位
      4. 3.ios4下不支持position: fixed
      5. 解决方案:使用[Iscroll](http://cubiq.org/iscroll-5),如: -->
      6. <div id="wrapper">
      7. <ul>
      8. <li></li>
      9. .....
      10. </ul>
      11. </div>
      12. <script src="iscroll.js"></script>
      13. <script>
      14. var myscroll;
      15. function loaded() {
      16. myscroll = new iScroll("wrapper");
      17. }
      18. window.addEventListener("DOMContentLoaded", loaded, false);
      19. </script>
      20. <!-- position定位
      21. Android下弹出软键盘弹出时,影响absolute元素定位
      22. 解决方案: -->
      23. <script>
      24. var ua = navigator.userAgent.indexOf("Android");
      25. if (ua > -1) {
      26. $(".ipt")
      27. .on("focus", function() {
      28. $(".css").css({ visibility: "hidden" });
      29. })
      30. .on("blur", function() {
      31. $(".css").css({ visibility: "visible" });
      32. });
      33. }
      34. </script>
    1. js 判断微信浏览器
      1. function isWeixin() {
      2. var ua = navigator.userAgent.toLowerCase();
      3. if (ua.match(/MicroMessenger/i) == "micromessenger") {
      4. return true;
      5. } else {
      6. return false;
      7. }
      8. }
    1. 全部替换字符串里的某个元素
      1. deadDay.replace(/-/g, ""); //"-"全部去掉
    1. 获取当前国家省市(新浪的接口)
      1. $.getScript(
      2. "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js",
      3. function() {
      4. alert(remote_ip_info.country); //国家
      5. alert(remote_ip_info.province); //省份
      6. alert(remote_ip_info.city); //城市
      7. }
      8. );
    1. 获取本周日期
      1. var now = new Date();
      2. var start = new Date();
      3. var n = now.getDay();
      4. for (var i = 1; i <= 7; i++) {
      5. var day = start.setDate(now.getDate() - n + i);
      6. day = new Date(day);
      7. day =
      8. day.getFullYear() +
      9. "-" +
      10. (day.getMonth() + 1) +
      11. "-" +
      12. day.getDate();
      13. console.log(day);
      14. }
    1. 在 JavaScript 中,所有的对象都是不相等的,每一个都是独立的对象实例, 这是一个非常重要的特性.

    2. 获取客户端 IP 方法
      var url = ‘http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=‘ + Math.random();
      $.getJSON(url, function (data) {
      alert(data.Ip);
      });

    3. 获取随机颜色
      item.style.backgroundColor = ‘#’ + Math.random().toString(16).slice(2, 8);

    4. 将类数组对象转化为数组(只是包含“数字”键及其键值)
      var arr = [].slice.call(NodeLisr, 0),

    5. 手机号截取
      phone.substr(0, 3) + “**“ + phone.substr(7, 11)