欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js笔记 js 

程序员文章站 2022-06-07 08:41:38
...
JS,其实就是一种网页的脚本语言。可以控制浏览器,网页的行为。
所以又称之为“动词”;

JS 是一种基于客户端,网页的脚本.JS是一门弱语言。

又由于JS是基于客户的脚本语言。因此它所有的代码不可避免的可以被外界查看。
所以基于两个方面考虑:
1、JS的安全问题。(压缩、混淆代码等)
2、访问速度的问题。 (压缩,加入CDN)

JS基础跟所有的语言一样。都有逻辑判断,循环语句,条件判断,运算符。
只不过JS的运算符+,在跟字符串操作的时候,就会起到连接的作用。
原生的JS,简单但是使用起来较复杂。

JS标识:
1、JS需要在HTML代码中用Script标识的。
2、标准的Script需要加入type属性。type="text/javascript"
3、script的位置根据特定的情况而定。

JS输出:
1、alert( 输出内容 );//警告框
2、console.log( 输出内容 ); //一般用于控制台输出。
注意:一般集合类型,建议都是控制台输出

JS注释:
// 单行
/* */ 多行

JS变量:
所有的变量可以用var声明。

JS运算符:
- + * / % 都可以使用。
1、但是+在运算的时候如果与字符串在一起运算,那么起到的就是连接符的作用。
2、注意:包括字符串在内所有的运算符会遵守优先级。

注意:parseInt("10"); 为强制转化成整型。
parseFloat("10");为强制转化为浮点型。
typeof(10+"");typeof为显示数据类型。

JS三大弹出框:
1、alert 警告框
2、confirm 确认框。返回的是布尔类型
if( confirm("确认要关闭吗?") ){
    window.close();
}
3、prompt 输入框 (标题输入框,默认值)
var a = prompt("请输入你喜欢的动物","猪");
alert( a );

JS数组:
1、定义一个数组:
var arr = new Array();
var arr = [1,2,3,5,5,6,7];
2、往数组里添加一个元素
arr.push(); 注意:是尾部添加
3、从数组里删除一个元素
arr.pop(); 注意:是尾部移除。
4、arr.length 数组的长度
5、遍历:
for( var i = 0 ; i < arr.length; i++ ){
console.log( arr[i] );
}

js 一般把键值对叫做对象。
6、键值对表示方式为:
var arr = { "a" : "b","c":"d" }
取出键值对的值:
arr.a;

var arr = { "a" : [1,2,3,4,5] }
console.log( (arr.a)[2] );

js特殊值:
1、NaN: 无法识别数据类型。一般是由运算造成的。
2、undefined
     1、初始化没有赋值的时候,打印会undefined;
     2、在取值的时候,如果目标值不存在,会打印undefined;
  注意:变量在初始化的时候,默认值是undefined,如果没有给出具体的值,相当于没有找到引用对象,这个时候该引用会去找最近一个有值变量。
3、null 空值
     1、一般是指对象本身是null值的时候打印。
     2、选择器获取不到相关控件的时候,一般会显示null
   
js函数: function 关键字 
function abc(){
     alert( 1 );
}
abc();

1、函数有作用域。
2、作用域内优先使用自己的变量。再考虑作用域外的变量。
3、作用域包括形参。
4、如果在作用域范围内,重新定义,那么它将不会污染全局变量。
5、如果在作用域范围内,直接使用或者定义,那么将可能污染全局变量。
6、在弱语言中,重复定义,没有定义都是没有错的。但是不推荐此种做法。
//动态调用函数方式。
var a = abc; //abc为函数名
a();

//封装函数写法
var a = {
"userName" : "jabez.huang",
"userPwd" : "123456",
init : function(){
return this;
}
};

js三大选择器:
1、ID选择器  document.getElementById("a")
2、Name选择器 document.getElementsByName("a")[]
3、类选择器   document.getElementsByClassName("a")[]
4、Tag选择器 document.getElementsByTagName("a")[]

.value 一般文本框、下拉菜单等只要有value属性设置的值。都可以用value方法获取或者设置。
.checked 用来获取相关 复选框,单选框是否被选中的值。
.innerHTML 用来设置或者获取元素的内容,包括设置或者获取HTML。
.innerText 用来设置或者获取元素的内容,不包括设置HTML。


注意:单选、复选 都需要用checked 属性来判断是否选中。返回的是布尔类型。

JS事件:
1、全局事件。也就是说任何在该页面发生的某种事件,都可以被监听。
2、在外部监听某一个控件的事件的形式。
3、在控件内部监听。

控件内部监听事件:
1、通过传参的方式,获取相关的控件对象的属性值
function goto( dom ){
window.open( dom.value );
}
<input type="text" value="" onclick="goto(this)"/>
2、通过普通的选择器方式,获取相关的控件的值
funtion goto(){
document.getElementById("url").value
}
<input type="text" id="url" onclick="goto()"/>

新语法: url.indexOf("www"),返回找到字符串的索引位置。否则返回-1;
新语法:url.split(","),返回字符串分割后的数组。


JS输出。
1、alert(); 警告
2、console.log(); 控制台

JS基础的变量 var

JS基础的三大弹出框:
1、alert
2、confirm 返回的是布尔类型  确认框
3、prompt 输入框,(标题,默认值)

JS三大特殊值:
1、NaN 无法识别的类型。 一般出现在运算中。
2、undefined
    1、变量未初始化赋值。
    2、通过document找相关的对象,获取不到的时候就是undefined
3、null
    1、该值本身的值为null

强制转换:
1、parseInt
2、parseFloat

JS集合
1、var a = new Array();
2、var b = [1,2,3,4];
3、a.push 在集合尾部加入一个数据。
4、a.pop 在集合尾部移除一个数据。
5、a.length 返回数组的长度。

数组转字符串:
1、join(",")

字符串转数组:
1、split(“”)

字符串语法:
1、indexof() 找到字符串中,出现的位置
2、substr( start, length )
3、substring( start, end )

JS对象,键值对:
var obj = {
  "键1" : "",
  "键2" : function(){

  }
};
可以通过键找到相关的值。
添加一个键值对:obj["a"] = "b";

JS函数。关键字 function。
function a(){ return b; }
this 在函数内部this,就是返回当前调用对象本身。
如果是在js里调用可能就返回windows,如果是控件里调用就返回控件对象。

选择器:
1、ID选择器 document.getElementById()
2、类选择器 document.getElementsByClassName()
3、标签选择器 document.getElementsByTagName()
4、Name选择器 document.getElementsByName()

.value 获取/赋值文本框或一切有value属性的值。
.innerHTML 获取/赋值某一个控件,并且可以使用HTML语法。
.innerText 获取/赋值某一个控件。不可以使用HTML语法。

自定义属性:就是为了方便自己设置获取某些值的属性。
.getAttribute 获取任一控件的属性
.setAttribute 赋值任一控件的属性。

另一种设置style的方式,简单:
document.getElementById("").style.color = "";

JS事件:DOM对象
1、全局的事件

document.onclick = function(){
   alert("1");
}

2、在外部监听的某个控件的事件。

document.getElementById("a").onclick = function(){
   alert("123");
}

3、在控件内部监听事件。

<input type="text" onclick="" />

1、点击事件 onclick
2、失焦事件 onblur 失去焦点,常用于表格填写。
3、聚焦事件 onfocus
4、改变事件 onchange
5、鼠标移动事件 onmousemove
6、鼠标移入事件 onmouseenter 注意:需要表示一个控件
7、鼠标移出事件 onmouseleave
8、鼠标弹起事件 onmouseup
9、鼠标移动元素触发事件 onmouseout
10、鼠标移到元素上  onmouseover
11、键盘事件  onkeyup / onkeydown / onkeypress
    keyCode = 回车 13
    keyCode = 左 37 上 38 右 39 下 40
    keyCode = 空格 32
相关标签: js