javascript

JavaScript 参考博客

JavaScript代码的存在形式

  • HTML文件中
<script type="text/javascript">
//JavaScript代码
</script>
  • js文件中,在HTML中引入(可使用远程js文件路径)
    <script src="*.js路径"></script>

  • 浏览器从上到下解释HTML和js代码,为了保证页面首先显示,一般要将CSS文件引入写在head标签中;js代码块和引入写在body内部的最下面。

js注释

  • 双斜杠单行注释//
  • /* 斜杠星,星斜杠,多行注释 */

js变量

  • name='alex'; //全局变量
  • var name='alex'; //局部变量

js基本数据类型

  • 数字
    • js不区分整数和浮点数,所有数字均用浮点数表示
    • parseInt() ,字符串转数字
    • parseFloat() 字符串转浮点
  • 字符串
    字符串是由字符组成的数组,但在JavaScript中字符串是不可变的:可以访问字符串任意位置的文本,但是JavaScript并未提供修改已知字符串内容的方法。
//常见功能
obj.length                          长度
obj.trim()                          移除空白
obj.trimLeft()
obj.trimRight)
obj.charAt(n)                        返回字符串中的第n个字符
obj.concat(value, …)              拼接
obj.indexOf(substring,start)        子序列位置
obj.lastIndexOf(substring,start)    子序列位置
obj.substring(from, to)              根据索引获取子序列
obj.slice(start, end)                切片
obj.toLowerCase()                    大写
obj.toUpperCase()                    小写
obj.split(delimiter, limit)          分割
obj.search(regexp)                  从头开始匹配,返回匹配成功的第一个位置(g无效)
obj.match(regexp)                    全局搜索,如果正则中有g表示找到全部,否则只找到第一个。
obj.replace(regexp, replacement)    替换,正则中有g则替换所有,否则只替换第一个匹配项,
                                    $数字:匹配的第n个组内容;
                                    $&:当前匹配的内容;
                                    $`:位于匹配子串左侧的文本;
                                    $':位于匹配子串右侧的文本
                                    $$:直接量$符号
  • 数组
    JavaScript中的数组类似于Python中的列表
obj.length          数组的大小

obj.push(ele)      尾部追加元素
obj.pop()          尾部获取一个元素
obj.unshift(ele)    头部插入元素
obj.shift()        头部移除元素
obj.splice(start, deleteCount, value, …)  插入、删除或替换数组的元素
                    obj.splice(n,0,val) 指定位置插入元素
                    obj.splice(n,1,val) 指定位置替换元素
                    obj.splice(n,1)    指定位置删除元素
obj.slice( )        切片
obj.reverse( )      反转
obj.join(sep)      将数组元素连接起来以构建一个字符串
obj.concat(val,..)  连接数组
obj.sort( )        对数组元素进行排序
  • 字典
    a = {'k1':'v1','k2':'v2',...}
  • 布尔类型
    布尔类型仅包含真假,与Python不同的是其首字母小写。
    • == 比较值相等
    • !=不等于
    • === 比较值和类型相等
    • !=== 不等于
    • || 或
    • && 且

JSON序列化

  • JSON.stringify(obj) 序列化
  • JSON.parse(str) 反序列化

转义

  • decodeURI( ) URl中未转义的字符
  • decodeURIComponent( ) URI组件中的未转义字符
  • encodeURI( ) URI中的转义字符
  • encodeURIComponent( ) 转义URI组件中的字符
  • escape( ) 对字符串转义
  • unescape( ) 给转义字符串解码
  • URIError 由URl的编码和解码方法抛出

条件语句

if(条件){
…
}else if(条件){
…
}else{
…
}

for循环

a=[11,22,33,44];
//循环数组时,循环的是索引;循环字典时,循环的是key
for(var item in a){
    console.log(a[item]);
}
//循环初始值0,每次+1,大于10结束;字典不支持此种循环
for(var i=0;i<10;i++){

}

函数

function 函数名(参数){
    //函数体
    console.log();//控制台调试打印
}

定时器

<script>
    //创建一个定时器
    setInterval("alert(123);",5000) //第一个参数为要执行的东西,第二个参数是间隔时间(毫秒)
</script>
  • 滚动文字例子
<div id="str">我要滚动,走了,快跑!</div>

<script>
    function gun(){
        var e = document.getElementById('str');
        var content = e.innerText;
        var f = content.charAt(0);
        var l = content.substring(1,content.length);
        var new_content = l+f;
        e.innerText = new_content;
    }
    setInterval("gun();",500)

</script>

Document操作

  • dom选择器
1、直接查找
document.getElementByID('id') //按id获取单个元素
document.getElementsByTagName('div') //按标签名获取多个元素,返回对象数组
document.getElementsByClassName('c1') //按class属性获取多个元素,返回对象数组
document.getElementsByName          //根据name属性获取标签集合

2、简介查找
parentNode          // 父节点
childNodes          // 所有子节点
firstChild          // 第一个子节点
lastChild          // 最后一个子节点
nextSibling        // 下一个兄弟节点
previousSibling    // 上一个兄弟节点
parentElement          // 父节点标签元素
children                // 所有子标签
firstElementChild      // 第一个子标签元素
lastElementChild        // 最后一个子标签元素
nextElementtSibling    // 下一个兄弟标签元素
previousElementSibling  // 上一个兄弟标签元素
  • dom操作
1、内容
标签对象.innerText  //获取标签文本内容
标签对象.innerText = ''   //修改标签文本内容

innerHTML  HTML内容
innerHTML  
value      值

2、属性
attributes                // 获取所有标签属性
setAttribute(key,value)  // 设置标签属性
getAttribute(key)        // 获取指定标签属性

/*
var atr = document.createAttribute("class");
atr.nodeValue="democlass";
document.getElementById('n1').setAttributeNode(atr);
*/

3、class操作
className                // 获取所有类名
classList.remove(cls)    // 删除指定类
classList.add(cls)      // 添加类

4、CSS样式操作
var obj = document.getElementById('i1')
obj.style.fontSize = "32px";
obj.style.backgroundColor = "red";

5、标签操作
//创建标签
// 方式一
var tag = document.createElement('a')
tag.innerText = "wupeiqi"
tag.className = "c1"
tag.href = "http://www.cnblogs.com/wupeiqi"

// 方式二
var tag = "<a class='c1' href='http://www.cnblogs.com/wupeiqi'>wupeiqi</a>"

------------
//操作标签
// 方式一
var obj = "<input type='text' />";
xxx.insertAdjacentHTML("beforeEnd",obj);
xxx.insertAdjacentElement('afterBegin',document.createElement('p'))

//注意:第一个参数只能是'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd'

// 方式二
var tag = document.createElement('a')
xxx.appendChild(tag)
xxx.insertBefore(tag,xxx[1])

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

原文地址:https://www.cnblogs.com/limich/p/8300293.html