1.js是大小写敏感的

2.

区别 getElementBy ID , getElementsBy Name,  getElementsBy TagName
以人来举例说明,人有能标识身份的身份证,有姓名,有类别(大人、小孩、老人)等。
1. ID 是一个人的身份证号码,是唯一的。所以通过getElementById获取的是指定的一个人。
2. Name 是他的名字,可以重复。所以通过getElementsByName获取名字相同的人集合。
3. TagName可看似某类,getElementsByTagName获取相同类的人集合。如获取小孩这类人,getElementsByTagName("小孩")。

document.getElementsByName(name)
该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。
另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),
所有 getElementsByName() 方法返回的是元素的数组,而不是一个元素。

<html>
<head>
<script type="text/javascript">
function getElements()
{
var x=document.getElementsByName("myInput");
alert(x.length);
}
</script>
</head>
<body> <input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" onclick="getElements()"
value="How many elements named 'myInput'?" /> </body>
</html>

3.onblur事件:会在对象失去焦点时(比如鼠标离开输入框)发生(比如执行某些代码)

4.json

 <script>
/*json是一种数据格式 和编程语言没有关系 载体是字符串 只要是支持字符串的语言都支持json
json格式的字符串 转换完之后JSON.parse() 会转换成对象或数组
下面这两个写法 '{"name":"楚慈","skill":"爱人"}' '["韩越","楚慈","裴志","任家远"]'
都是要在最外层有个‘’的 以为json载体是字符串啊 把这个‘’去掉就成为对象或者数组了就不是json了*/ //json表示对象的写法 对象使用{} 属性名和属性值都必须用双引号包裹 除非属性值是数字
var jsonObject = '{"name":"楚慈","skill":"爱人"}';
console.log(jsonObject); //{"name":"楚慈","skill":"爱人"}
//jsonboject转换成对象
var obj = JSON.parse(jsonObject);
console.log(obj);/* Objectname: "楚慈"skill: "爱人"__proto__: Object 转换成了对象*/
//获取转换成对象的数据 用.即可
console.log(obj.name+'---'+obj.skill); //楚慈---爱人 //json表示数组的写法 []
var jsonArr='["韩越","楚慈","裴志","任家远"]';
console.log(jsonArr); //["韩越","楚慈","裴志","任家远"]
//转换成对应的数组
var result = JSON.parse(jsonArr);
console.log(result);
//输出数组元素
console.log(result[0])//韩越
</script>

css3 box-shadow属性:向框添加一个或多个阴影。蛮酷炫

js中标签字符串的拼接

1.:通过Jquery直接创建标签对象$("<option></option>")

2.

var userTableStr='';
userTableStr +='<table width="750" height="33" border="1">';
userTableStr += '<tr>';
userTableStr += '<td width="100"><input type="text" size ="11" value=""/></td>';
userTableStr += '<td width="100"><input type="text" value="" size ="11"/></td>';
userTableStr += '<td width="90"><input type="text" value="" size ="8"/></td>';
userTableStr += '<td width="390">
全局就是一个userTableStr的空字符串,一直是+=的形式
ajax中有一个例子

DOM cloneNode() 方法
cloneNode() 方法可创建指定的节点的精确拷贝。
cloneNode() 方法 拷贝所有属性和值。
该方法将复制并返回调用它的节点的副本。如果传递给它的参数是 true,它还将递归复制当前节点的所有子孙节点。否则,它只复制当前节点。

jQuery clone() 方法

clone() 方法生成被选元素的副本,包含子节点、文本和属性

$("button").click(function(){
$("p").clone().appendTo("body");
});

JS中对象与数组(大括号{}与中括号[])

一、{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。
如:var LangShen = {"Name":"Langshen","AGE":"28"};
上面声明了一个名为“LangShen”的对象,多个属性或函数用,(逗号)隔开,因为是对象的属性,
所以访问时,应该用.(点)来层层访问:LangShen.Name、LangShen.AGE,当然我们也可以用数组的方式来访问,如:LangShen["Name"]、LangShen["AGE"],结果是一样的。

对象作为参数传递的时候 也就是这样 met({
type:'get',
data:'苏格拉底',
URL:'www.baidu.com'
})//met是函数名啊
然后调用的时候 就直接.type就可以

关于遮罩层 可以自己写啊

  <style>
.cover { /*遮罩层是自己写的!!!!!!!!!!!!!!!*/
height: 100%;
width: 100%; /*这个遮罩层这了整个页面*/
position: absolute;
left: 0;
top: 0;
background-color: skyblue;
opacity: .5;/*透明度*/
display: none;
}
</style>
<div class="cover"></div>

js: eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
eval(string)
eval("x=10;y=20;document.write(x*y)") document.write(eval("2+2"))

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。 unshift()向开头

箭头函数 
https://www.liaoxuefeng.com/wiki/1022910821149312/1031549578462080

(x,y,z)/()/x  => {} /只有一条语句    (x,y,z):多个参数 ()无惨 x:一个参数

keyup/keydown方法:按键被松开并复位/按下按键

$(document).ready(function(){
$("input").keydown(function(){
$("input").css("background-color","#FFFFCC");
});
$("input").keyup(function(){
$("input").css("background-color","#D6D6FF");
});
});

HTML的label标签     https://www.jianshu.com/p/59b63d07ab04

<label> 标签为 input 元素定义标签(label)。label 元素不会向用户呈现任何特殊的样式。不过,它为鼠标用户改善了可用性,因为如果用户点击 label 元素内的文本,则会切换到控件本身。<label> 标签的 for 属性应该等于相关元素的 id 元素,以便将它们捆绑起来。

<!DOCTYPE HTML>
<html>
<body> <form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</form>
<!--点击文字和点击相应的选项框的效果一样-->
</body>
</html>
Label标签有两个属性,一个是for,一个是 accesskey
for功能:表示这个Lable是为哪个控件服务的,Label标签要绑定了for指定HTML元素的ID或name属性,你点击这个标签的时候,所绑定的元素将获取焦点 ,点击label所包裹内容,自动指向for指定的id或name
accesskey则定义了访问这个控件的热键( 所设置的快捷键不能与浏览器的快捷键冲突,否则将优先激活浏览器的快捷键)
 

<a>链接  <a href="javascript:;" >  Click Me  </a>
记得最初加入以前的Web组时,入职后在工作位上的第一件事情是看web编码规范(XHTML、CSS、JavaScript的编码规范),它里面中就指出:所有不需要打开链接页面的A元素,它的href属性不允许写为”#”,而得使用“javascript:;”

document.getElementById('search').focus():为元素设置焦点    focus():方法  onfocus:事件   html的 autofocus

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素索引位置
string.prototype.includes:这个方法可以帮你判断一个字符串是否包含另外一个字符串。
 
 
 

HTML <select> 标签

出现这种选择框:

<select>
<option value ="volvo">Volvo</option>
<option value ="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>

关于nginx 代理服务器   大神篇:https://blog.csdn.net/tsummerb/article/details/79248015 写的很好通俗易懂

网络请求 token存储
很多项目里面,需要在用户登录后保持登录状态,使用的不是存储用户名和密码,每次模拟去登录。而是登录成功时,从服务器接受token,
token是服务器生存的一个字符串,唯一标识一个用户,并且会在一段时间后销毁,所以我门很久不登录app,会要求重新登录。
利用一个工具类,进行token的存储、删除和读取。登录成功进行存储,下一次打开app进行读取,退出时进行删除。
如果有refreshtoken,可以进行更新,就不用再次登录。--token作用
https://www.jianshu.com/p/624a2b95c198

document.write

https://www.runoob.com/jsref/met-doc-write.html

document.write()方法可以用在两个方面:页面载入过程中用实时脚本创建页面内容,以及用延时脚本创建本窗口或新窗口的内容。该方法需要一个字符串参数,它是写到窗口或框架中的HTML内容。这些字符串参数可以是变量或值为字符串的表达式,写入的内容常常包括HTML标记语言。

  记住,在载入页面后,浏览器输出流自动关闭。在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值)。因此,假如希望用脚本生成的HTML替换当前页面,就必须把HTML内容连接起来赋给一个变量,使用一个document.write()方法完成写操作。不必清除文档并打开一个新数据流,一个document.write()调用就可完成所有的操作。

  关于document.write()方法还有一点要说明的是它的相关方法document.close()。脚本向窗口(不管是本窗口或其他窗口)写完内容后,必须关闭输出流。在延时脚本的最后一个document.write()方法后面,必须确保含有document.close()方法,不这样做就不能显示图像和表单。并且,任何后面调用的document.write()方法只会把内容追加到页面后,而不会清除现有内容来写入新值。为了演示document.write()方法,我们提供了同一个应用程序的两个版本。一个向包含脚本的文档中写内容,另—个向—个单独的窗口写内容。请在文本编辑器中键人每个文档,以.html文件扩展名保存,并在浏览器中打开文档。

js 同步加载和异步加载

 setTimeout(function(){
console.log('定时器开始啦')
}); new Promise(function(resolve){
console.log('马上执行for循环啦');
for(var i = 0; i < 10000; i++){
i == 99 && resolve();
}
}).then(function(){
console.log('执行then函数啦')
}); console.log('代码执行结束');
js执行机制

10分钟理解JS引擎的执行机制

js预解析可以解释三个button都一起动

随笔【js】的更多相关文章

  1. 随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里

    JS /* * 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里 * @id 要插入到DOM元素的ID * * 输入值为图片URL 字符串 * */ function addImages(i ...

  2. html回顾随笔JS(*^__^*)

    ---恢复内容开始--- map遍历 function b(){ var week = new Map(); week.set("Mon","星期一"); we ...

  3. 随笔js

    js中的函数定义之后,函数名就是这个函数(JS中函数其实也是对象)的地址(句柄) js读取函数内存地址: 首先想读内存地址只有C或者C++,汇编抛开不谈,其他高级语言一般都封装起来了,不过我也不能确定 ...

  4. JS调用PageMethods

    http://www.cnblogs.com/Ren_Lei/archive/2010/07/14/1777413.html JS调用PageMethods 操作步骤: 1.新建一个WebApplic ...

  5. jquery的.get方法说解

    ·Customer类 public class Customer { public int Unid { get; set; } public string CustomerName { get; s ...

  6. MVC学习随笔----如何在页面中添加JS和CSS文件

    http://blog.csdn.net/xxjoy_777/article/details/39050011 1.如何在页面中添加Js和CSS文件. 我们只需要在模板页中添加JS和CSS文件,然后子 ...

  7. js随笔

    在js中,一个[]认为是数组:{}认为是Json对象:

  8. Vue.JS入门学习随笔

    PS:先说说学习Vue的缘由吧,学习完了React之后,突然发现又出了一款叫做vue的框架,而且据说可以引领又一波新框架的潮流,我容易吗我!!!   Vue.js(读音 /vjuː/, 类似于view ...

  9. 【随笔】js加载

    有时候,当发现js操作一个dom的时候,发现dom没有找到,这是由于html没有加载完就开始操作该dom的缘故,所以需要在html文档加载完后再加载js,于是我们可以这么做: js方法:window. ...

  10. ❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️html,js随笔。❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

    a标签本身的文字居中. a{ display:block; text-align:center; } 设置div1在另一个div2里居中,(写了左边margin 就别写右边了不然ie6有毛病,当然本身 ...

随机推荐

  1. mesbox公告加更新控制

    0为不显示,1为显示~~~~0|友情提示:任何时候,不要相信福利软件,福利网站,不乱接收别人发的的任何文件,如需使用军旗有关产品,请至官方群或官方网站下载!!|183|173~~~~162,1651, ...

  2. Java方法参数的传递方式

    程序设计语言中,将参数传递给方法(或函数)有两种方法.按值传递(call by value)表示方法接受的是调用者提供的值:按引用调用(call by reference)表示方法接受的是调用者提供的 ...

  3. GBDT原理及利用GBDT构造新的特征-Python实现

    1. 背景 1.1 Gradient Boosting Gradient Boosting是一种Boosting的方法,它主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向.损失函数是 ...

  4. 手把手编写PHP MVC框架实例教程

    源地址:https://www.awaimai.com/128.html#comment-27466 这个不错,用php实现mvc最核心功能,代码量只有几十K. 其实,不管用那种方法,最终都是incl ...

  5. selenium定位方式-Xpath使用方法

    什么是Xpath? XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 一. 在火狐浏览器上安装Xpath 方法如下: 1.使用 Firefox 访问 https://a ...

  6. docker安装mysql5.7

    查看镜像 docker search mysql 拉取镜像 docker pull mysql:5.7 运行镜像 docker run --name mysql -p 3306:3306 -e MYS ...

  7. 软件测试为什么需要学习Linux的知识?Linux学到什么程度?-log5

    ​软件测试为什么需要学习Linux的知识?学到什么程度?-log5 Dotest软件测试学堂-董浩 公司目前90%的服务器操作系统不是Windows,而是Linux(RedHat.Debian.Cen ...

  8. REM方案总结

    flexible.js方案 1.设置根元素字体大小为屏幕宽度的十分之一. 2.即根元素字体大小与屏幕宽度的比例为:1/10. jQuery.weui的rem设计方案 1.以屏幕宽度375px为基础,根 ...

  9. LeetCode第二十题-有效的括号

    Valid Parentheses 问题简介: 给定一个只包含字符 ‘(’ , ‘)’ , ‘{’ , ‘}’ , ‘[’ , ‘]’ 的字符串,确定输入字符串是否有效 有效的条件: 必须使用相同类型 ...

  10. 使用scrapy爬虫,爬取17k小说网的案例-方法二

    楼主准备爬取此页面的小说,此页面一共有125章 我们点击进去第一章和第一百二十五章发现了一个规律 我们看到此链接的  http://www.17k.com/chapter/271047/6336386 ...