JavaSript学习笔记整理

语法

:eq()

:eq()选择器选取带有指定index值的元素;index值从0开始,所有第一个元素的index值是0.

    $(":eq(index)")

insertRow()

insertRow()方法用于在表格中的指定位置插入一个新行.

    tableObject.insertRow(index)

insertCell()

insertCell()方法用于在HTML表的一行的指定位置插入一个空的<td>元素.

    tablerowObject.insertCell(index)

each()

 输出每个 li 元素的文本.

    $("button").click(function(){
        $("li").each(function(){
            alert($(this).text())
        })
    })

 each()方法规定为每个匹配元素规定运行的函数.

    $(selector).each(function(index,element))

prompt()

 用于显示可提示用户进行输入的对话框.

    prompt(text,defaultText)

select标签

select 元素可创建单选或多选菜单. <select> 元素中的 <option> 标签用于定义列表中的可用选项.

    <select name="choice" id="select">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
属性 描述
size number 规定下拉列表中可见选项的数目
autofocus autofocus 规定在页面加载后文本区域自动获取焦点
disabled disabled 规定禁用该下拉列表

sessionStorage

说明

 sessionStorage是HTML5新增的一个回话存储对象,用于临时保存统一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据.
 sessionStorage允许访问一个sessionStorage对象.页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话.在新标签或窗口打开一个页面会初始化一个新的会话.

客户端存储方式

 针对一个session的数据存储,该tab关掉就会消失.

操作方式

1.setItem存储value

    sessionStorage.setItem("key","value");

2.getItem获取value

    var value = sessionStorage.getItem("key");

3.removeItem删除key

    sessionStorage.removeItem("key");

4.clear清除所有的key/value

    sessionStorage.clear();

Text

Text1创建并访问一个sessionStroage:

    <script type="text/javascript">
        sessionStorage.lastname = "Tom";
        document.write(sessionStorage.lastname);
    </script>

Text2显示用户名

    <body>
        <span>用户名:</span>
        <span id="name"></span>
        <script type="text/javascript">
            var name = document.getElementById('name');
            var data = JSON.parse(sessionStorage["userInfo"]);
            name.html(data.su_userid);
        </script>
    </body>

Input类型

number

    <input type="number" name="" />

 请使用下面的属性来规定对数字类型的限定:

属性 描述
max number 规定允许的最大值
min number 规定允许的最小值
step number 规定合法数字间隔
value number 规定默认值

Date Pickers

    <input type="date" name="" />

function* (生成器函数)

 与普通函数的区别:

  1. 通过new运算符或函数调用的形式调用生成器函数,均会返回一个生成器实例;
  2. 通过new运算符或函数调用的形式调用生成器函数,均不会马上执行函数体的代码;
  3. 必须调用生成器实例的next方法才会执行生成器函数体的代码.
    function* name([param[, param[, ... param]]]) { statements }

语法

  1. name:函数名
  2. param:要传递给函数的一个参数名称,一个函数最多可以有255个参数
  3. statement:普通JS语句

Text:

    function *gen(){
        yield 10;
        y=yield 'foo';
        yield y;
    }

    var obj=gen();
    console.log(obj.next());// 执行 yield 10,返回 10
    console.log(obj.next());// 执行 yield 'foo',返回 'foo'
    console.log(obj.next(10));// 将 10 赋给上一条 yield 'foo' 的左值,即执行 y=10,返回 10
    console.log(obj.next());// 执行完毕,value 为 undefined,done 为 true

splice

定义和方法

 splice()方法向/从数组中添加/删除项目,然后返回被删除的项目.
 该方法会改变原始数组.

setAttribute

定义和用法

 setAttribute()方法添加指定的属性,并为其赋指定的值.如果这个指定的属性已存在,则仅设置/更改值.

    element.setAttribute(attributename,attributevalue)

循环语句(Loop Statement)

for Statement

 for反复循环直到一个特定的条件计算为假.

do…while Statement

 do…while反复直到一个特定条件计算为假.

while Statement

 while 句只要指定的条件求值为真(true)就会一直执行它的语句块.

label Statement

标签语句提供一种在同一程序的另一处找到它的标识.
Text 标记 markLoop 标识一个 while 循环

    markLoop
    while(theMark == true){
        doSomething();
    }

break Statement(中断语句)

 用于终止循环.
Text1

    for (i = 0; i < a.length; i++) {
      if (a[i] == theValue) {
        break;
      }
    }

Text2 终止一个 label

    var x = 0;
    var z = 0
    labelCancelLoops: while (true) {
        console.log("外部循环: " + x);
        x += 1;
        z = 1;
        while (true) {
            console.log("内部循环: " + z);
            z += 1;
            if (z === 10 && x === 10) {
                break labelCancelLoops;
            } else if (z === 10) {
                break;
            }
        }
    }

continue Statement(连续语句)

Text1

    var i = 0;
    var n = 0;
    while (i < 5) {
      i++;
      if (i == 3) {
        continue;
      }
      n += i;
    }

严格模式(知识点)

  • 消除JavaScript语法的一些不合理、不严谨之处,减少一些怪异行为
  • 消除代码运行的一些不安全之处,保证代码运行的安全
  • 提高编译器效率,增加运行速度
  • 为未来新版本的JavaScript做好铺垫

堆栈

栈(stack)

 先进后出(FILO);自动分配内存空间,由系统自动释放.

堆(heap)

 先进先出(FIFO);动态分配内存,大小不定也不会自动释放.

递归

递归特点

  • 本质是函数中调用函数本身,容易造成栈溢出;
  • 要有结束条件,防止栈溢出;
  • 项目中尽量减少递归的使用,但是由于该思想比较容易解决问题,所以可以考虑在不好解决的问题中使用.

text

    function foo(i) {
      if (i < 0)
        return;
      console.log('begin:' + i);
      foo(i - 1);
      console.log('end:' + i);
    }
    foo(3);


笔记      Learning Notes Informal Essay JavaScript JQuery

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!