20150803--JS学习笔记(1)

JS中对象的 prototype 的含义:

javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。

A.prototype = new B();

理解prototype不应把它和继承混淆。A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍。A能使用B的方法和属性。这里强调的是克隆而不是继承。可以出现这种情况:A的prototype是B的实例,同时B的prototype也是A的实例。

 

设置某元素的class属性:

function setclass () {
        var setclass = document.getElementById("project2");
        setclass.className = "on";
        }

设置某分栏iframe的连接页面:

function seturl () {
        var setiframe = document.getElementById("iframe");
        setiframe.src = "project2.html";
    }

split() 方法用于把一个字符串分割成字符串数组。

stringObject.split(separator,howmany)

separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

howmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

stringObject.match(searchvalue)
stringObject.match(regexp)

searchvalue:必需。规定要检索的字符串值。

regexp:必需。规定要匹配的模式的 RegExp(正则表达式)对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。

返回的是指定值,字符串。

使用Cookies传值:

创建Cookies

创建默认语法格式:

document.cookie = name + value ;

例:

document.cookie = "CookieName="+"Mod"

注意: 不可以有非字母或数字的字符,因此对其进行转码是个不错的选择。

escape()可以对字符串进行编码:

var cookieList = "FirstName=" + "One"
                + ";LastName=" + "two";
document = escape(cookieList);

注意:这里同时定义了两个cookie,定义多个Cookie时必须以“;”分隔。

当读取使用”escape(text)”编码过的文本字符串是必须使用”unescape(text)”进行解码。

除了”name”之外还有四种属性:

expires(设置时间)、path(访问目录)、domain(多服务器访问)、secure(安全性传输)

expires:默认关闭会话框就会销毁cookie,可以给其指定时间。

var expDate = new Date();
document.cookie = escape("firstCookie=Bon" + ";espires=" + expDate.setDate(expDate.getDate() + 1));

path: 设置Cookie能够被服务器上的其他Web其他页面的访问性,默认相同目录下的页面都可以访问。

使Files文件目录下或它的子目录下的所有页面访问:

document.cookie = "FirstName=One"+";path=/Files";

如果想要让cookie能被服务器上的所有页面访问,只使用一个“/”表示即可。

document.cookie = "FirstName=One"+";path=/";

domain:用于相同域内的跨多服务器共享Cookies。

若以7个顶级域标识符(.com、 .edu、 .net、 .org、 .gov、 . mil、 .int)之一结束,字符串中只需要两个点“.”即可:

document.cookie = "FirstName=One"+";domain=.baidu.com";

若以其它标识符结束,字符串需要三个点“.”并包括一个子域,

例如:以”cn”结尾,“domain=.子域.域.cn”

document.cookie = "FirstName=One"+";domain=.ziyu.yu.cn";

secure: 指示Cookies只能在安全的Internet连接上传输,此属性通常忽略。

document.cookie = "FirstName=One"+";secure=true";

读取Cookies:

需要使用String对象的方法来解析每个Cookie,如果Cookie使用了escape()编码过,在解析之前必须用unescape()函数解码。

此处多使用String对象方法,包括 indexOf()、substring()方法来确定Cookie的name和value的位置来得出相应的值。

也可使用正则表达式进行判断,取出value值。

例:

    //设置Cookie
    function setCookie(name, value) {
        document.cookie = name + "=" + escape(value);
    }
    //获取Cookie
    function getCookie(name) {
        var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
        var arr = document.cookie.match(reg);
        document.getElementById("Text1").value = arr[2];
    }

HTML代码:

    <input id="we" type="button" value="设置" onclick=‘setCookie("coo0","zhizhi")‘ />
    <br />
    <br />
    <input id="Button1" type="button" value="button" onclick=‘getCookie("coo0")‘ />
    <input id="Text1" type="text" />

时间: 2024-10-14 05:26:24

20150803--JS学习笔记(1)的相关文章

Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script src="https://cdn.bootcss.com/vue/2.2.

[Pro Angular.JS]学习笔记1.1:设置开发环境

可以使用yeoman.io,很方便.我已经写了一篇随笔,介绍如何使用.这里也有一篇介绍的文章:http://www.cnblogs.com/JoannaQ/p/3756281.html 代码编辑器,在Mac下用了一下WebStorm,太恶心了.另外发现书的作者使用的开发环境是Windows + VS Express 2013,为了方便学习,我也使用VS Express 2013 Update2.VS2013用起来蛮舒服的,把WebStorm比得跟驼屎一样.也许是因为我没用习惯吧. 1.安装Nod

【转】Backbone.js学习笔记(二)细说MVC

文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Backbone源码结构 1: (function() { 2: Backbone.Events // 自定义事件 3: Backbone.Model // 模型构造函数和原型扩展 4: Backbone.Collection // 集合构造函数和原型扩展 5: Backbone.Router // 路由

Angular JS 学习笔记

特定领域语言 编译器:遍历DOM来查找和它相关的属性, 分为编译和链接两个阶段, 指令:当关联的HTML结构进入编译阶段时应该执行的操作,可以写在名称里,属性里,css类名里:本质上是函数 稳定的DOM:绑定了数据模型的DOM元素的实例不会在绑定的生命周期发生改变 作用域:用来检测模型的改变和为表达式提供执行上下文的 AngularJS 和其它模板系统不同,它使用的是DOM而不是字符串 指令: 由某个属性.元素名称.css类名出现而导致的行为,或者说是DOM的变化 Filter过滤器:扮演着数据

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

JS学习笔记-OO疑问之封装

封装是面向对象的基础,今天所要学习的匿名函数与闭包就是为了实现JS的面向对象封装.封装实现.封装变量,提高数据.系统安全性,封装正是面向对象的基础. 匿名函数 即没有名字的函数,其创建方式为 function(){...} 单独存在的匿名函数,无法运行,可通过赋值给变量调用或通过表达式自我执行来实现运行. 1.赋值给变量为一般的函数使用方式 var run = function(){ return '方法运行中'; }; alert(run()); 2.通过表达式自我执行 (function(a

每日js学习笔记2014.5.4

<script language="javascript">var mystring = "这是第一个正则表达式的例子";var myregex = new RegExp("这是"); //创建正则表达式if (myregex.test(mystring)) //test的功能是查找字符串中是否有匹配项,有则返回true,没有则返回false{ document.write ("找到了指定的模式");}else{

每日js学习笔记2014.5.5

<script language="javascript"><!-- var textstr = prompt("请输入一个字符串:",""); //prompt的用法,包含两个参数 var regex = /[A-Z][a-z]tion/; //[A-Z]有无匹配项 var result = regex.test(textstr); //test的用法 document.write ("<font size='

JS学习笔记-OO疑问之对象创建

问一.引入工厂,解决重复代码 前面已经提到,JS中创建对象的方法,不难发现,基本的创建方法中,创建一个对象还算简单,如果创建多个类似的对象的话就会产生大量重复的代码. 解决:工厂模式方法(添加一个专门创建对象的方法,传入参数避免重复) function createObject(name,age){ var obj =new Object(); //创建对象 obj.name = name; obj.age = age; obj.run = function(){ return this.nam

js学习笔记知识点

AJAX用法安全限制JSONPCORS面向对象编程创建对象构造函数原型继承class继承 AJAX 用法 AJAX不是JavaScript的规范,它只是一个哥们"发明"的缩写:Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求 在现代浏览器上写AJAX主要依靠XMLHttpRequest对象: 'use strict'; function success(text) { var textarea = document.getE