前端笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端笔记相关的知识,希望对你有一定的参考价值。

获取元素的值

js中
var pwd0=document.getElementById("ui-password0-text").value;        #获取页面上一个有id的元素的值
var pwd0=document.getElementById("ui-password0-text").innerhtml;      #获取元素中的内容
jquery中
var new_pwd2 = $("#ui-password2-text").val();         #获取页面上一个有id的元素的值
var new_pwd2 = $("#ui-password2-text").text();        #获取元素中的内容
var new_pwd2 = $("#ui-password2-text").html();        #获取html内容

光标定位

document.getElementById("文本框的ID").focus();

$ 符号

jQuery 使用 $ 符号作为 jQuery 的简介方式。
某些其他 javascript 库中的函数(比如 Prototype)同样使用 $ 符号。
jQuery 使用名为 noConflict() 的方法来解决该问题。
var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。

$("#hh")       #hh为ID属性
$("hh")        #hh为name,type属性    

Sea.js

除了解决命名冲突和依赖管理,使用 Sea.js 进行模块化开发还可以带来很多好处:
1.模块的版本管理。通过别名等配置,配合构建工具,可以比较轻松地实现模块的版本管理。
2.提高可维护性。模块化可以让每个文件的职责单一,非常有利于代码的维护。Sea.js 还提供了 nocache、debug 等插件,拥有在线调试等功能,能比较明显地提升效率。
3.前端性能优化。Sea.js 通过异步加载模块,这对页面性能非常有益。Sea.js 还提供了 combo、flush 等插件,配合服务端,可以很好地对页面性能进行调优。
4.跨环境共享模块。CMD 模块定义规范与 Node.js 的模块规范非常相近。通过 Sea.js 的 Node.js 版本,可以很方便实现模块的跨服务器和浏览器共享。

var util = require(./util.js);
util.print(我是字符串);
不再需要冗长的命名空间了,也不再需要担心命名的冲突
不需要手动管理 js 文件的依赖,依赖关系写在代码中,SeaJS 会自动处理

文本框禁止剪切、复制、粘贴

onpaste="return false" oncontextmenu="return false" oncopy="return false" oncut="return false"

==和===

首先,== equality 等同,=== identity 恒等。 
==, 两边值类型不同的时候,要先进行类型转换,再比较。 
===,不做类型转换,类型不同的一定不等。
下面分别说明: 
先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等: 
1、如果类型不同,就[不相等] 
2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断) 
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。 
4、如果两个值都是true,或者都是false,那么[相等]。 
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。 
6、如果两个值都是null,或者都是undefined,那么[相等]。 
再说 ==,根据以下规则: 
1、如果两个值类型相同,进行 === 比较。 
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较: 
   a、如果一个是null、一个是undefined,那么[相等]。 
   b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。 
   c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。 
   d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。
      js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻烦,我也不大懂) 
   e、任何其他组合,都[不相等]。

用 == 的时候要有充分的注释

鼠标

onmousedown    script    当元素上按下鼠标按钮时触发。
onmousemove    script    当鼠标指针移动到元素上时触发。
onmouseout     script    当鼠标指针移出元素时触发。
onmouseover    script    当鼠标指针移动到元素上时触发。
onmouseup      script    当在元素上释放鼠标按钮时触发。

# 鼠标移动到图片上,图片放大
<!DOCTYPE html>
<html>
<head>
<script>
    function bigImg(x)
    {
        x.style.height="380px";
        x.style.width="380px";
    }

    function normalImg(x)
    {
        x.style.height="128px";
        x.style.width="128px";
    }
</script>
</head>
<body>
    <img onmousemove="bigImg(this)" onmouseout="normalImg(this)" border="0" src="/i/eg_tulip.jpg" alt="Smiley" style="height:128px;width:128px;">
</body>
</html>

正则表达式

$("#").val($.trim($("#").text()));         修改操作从html获取数据填充并去除空格
var a = $trim($("#").val()); js获得值去除空格
$(
"#").html("输入合法数据")
console.log(data); 可以在谷歌浏览器console项查看数据
if(/^\s*$/gi.test(aaa)) aaa为空为true不为空为false if(/^[\d\.]+$/.test("12.3")) if(/^[\d]*(\.{0,1})[\d]+$/.test(aaa)) <span><i></i></span> 正则表达式和语言无关 if re.match(r"^[\d]+(\.{0,1})[\d]+$","") if re.match(r"^20(\d{12})$","20160316121212")

ifequal

{% ifequal factory_uid "cd396786-579a-11e5-9e88-00a0d1eb6068" %}   # 判断两者是否相等

  &times;    #显示成符号 ‘ב  

如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖

  class控制样式 .

  id控制事件 #

  h十二小时制H二十四小时制

  样式不要写死到元素上

  脚本一般放在最后

  能把多个模板放在一起的话就最好不要分开,不然工作量会比较大

以上是关于前端笔记的主要内容,如果未能解决你的问题,请参考以下文章

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端开发工具vscode如何快速生成代码片段