chenogeの日志


  • 首页

  • 归档

  • 搜索

第三方Cookie

发表于 2019-09-26

第三方 Cookie

在访问网站A时,网站A算作第一方,如果网站A中引用了另一个(域名不同的)网站X的资源,这时这个网站X就被认为是第三方。图像、 JavaScript 和 iframe 通常会导致第三方Cookie的生成。

浏览器中第三方Cookie
  • IE:默认不接受第三方 Cookie,不过采用 P3P 协议即可
  • Chrome、Firefox:默认接受,但用户可以选择不接受
  • Safari:默认会阻止第三方cookie, Safari认为相同父域名的站点不属于第三方
阅读全文 »

JS-正则-非贪婪模式

发表于 2019-09-07

贪婪模式

默认情况下,所有的限定词都是贪婪模式,表示尽可能多的去捕获字符,能匹配多少就匹配多少。从正则语法的角度来讲,被匹配优先量词修饰的子表达式使用的就是贪婪模式,如/a+/。
标识符:+,?,*,{n},{n,},{n,m}

非贪婪模式

在限定词后增加?,则是非贪婪模式,表示尽可能少的去捕获字符。
从正则语法的角度来讲,被忽略优先量词修饰的子表达式使用的就是非贪婪模式,如/a+?/。标识符:+?,??,*?,{n}?,{n,}?,{n,m}?

1
2
3
4
5
const str = "aaab",
reg1 = /a+/, //贪婪模式
reg2 = /a+?/;//非贪婪模式
console.log(str.match(reg1)); // ["aaa"]
console.log(str.match(reg2)); // ["a"]
阅读全文 »

javascript-eval-function

发表于 2019-09-02

Function

Function 构造函数创建一个新的Function对象。 在 JavaScript 中, 每个函数实际上都是一个Function对象。

1
let fn = new Function ([arg1[, arg2[, ...argN]],] functionBody);
1
2
let sum = new Function('a', 'b', 'return a + b');
console.log(sum(2, 6)); // 8
阅读全文 »

严格模式

发表于 2019-09-02

严格模式

严格模式对Javascript的语法和行为,做了一些改变:

  • 全局变量显式声明:在正常模式中,如果一个变量没有声明就赋值,默认是全局变量。严格模式禁止这种用法,全局变量必须显式声明。

    1
    2
    3
    4
    "use strict";

    v = 1; // 报错,v未声明
    for(i = 0; i < 2; i++) {}; // 报错,i未声明
阅读全文 »

动态加载

发表于 2019-09-02

动态加载

import()

关键字import可以像调用函数一样来动态的导入模块。以这种方式调用,将返回一个 promise。

1
2
3
import('/modules/my-module.js').then((module) => {
// Do something with the module.
});

这种使用方式也支持 await 关键字

1
let module = await import('/modules/my-module.js');
阅读全文 »

EJS-模板引擎

发表于 2019-08-28

模板语法

  • <% Javascript代码 %> :JavaScript代码

  • <%= 变量名 %>:将HTML转义的值输出到模板中

  • <%- 变量名 %> : 将未转义的值输出到模板中
  • <%_ 变量名 _%> :去除所有空格
  • <%# 注释内容 %> : 注释
  • <% include 文件的路径 %> : 引入外部的文件
阅读全文 »

npm命令

发表于 2019-08-22

npm命令选项

  • search:在存储库中查找模块包,如:npm search express

  • install:使用在存储库或本地位置上的一个package.json文件来安装包

    1
    2
    3
    4
    5
    npm install 
    npm install express
    npm install express@0.1.1
    npm install express@latest
    npm install ../tModule.tgz
  • install -g:在全局可访问的位置安装一个包,如:npm install express -g

  • uninstall:卸载一个模块,如:npm uninstall express

  • remove:删除一个模块

  • pack:把在一个package.json文件中定义的模块封装成.tgz文件,如:npm pack

  • view:显示模块的详细信息,如:npm view express

  • publish:把在一个package.json文件中定义的模块发布到注册表,如:npm publish

  • unpublish:取消发布您已发布到注册表的一个模块(在某些情况下,还需使用 --force 选项),如:npm unpublish myModule

  • owner:允许您在存储库中添加、删除包和列出包的所有者

    1
    2
    3
    npm add <username> myModule 
    npm rm <username> myModule
    npm ls myModule
  • whoami:(根据指定注册表模块)打印用户名

    1
    2
    npm whoami
    npm whoami --registry https://registry.npm.taobao.org
  • adduser:将用户信息添加到当前的开发环境

    1
    2
    3
    4
    5
    npm adduser

    # 默认是登录到 npm 上,如要登录到其他源上,需要使用 registry 选项
    # 要想登录到某个 scope 中需要使用 scope 选项
    npm adduser --registry=http://myregistry.example.com --scope=@myco
  • login:等同于adduser,如:npm login

  • logout:将用户信息从当前的开发环境中清除,如:npm logout

  • init:初始化Node包的信息,会创建package.json文件,如:npm init

linux-wc命令

发表于 2019-08-14

wc命令

利用wc指令我们可以计算文件的Byte数、字数、或是列数。若不指定文件名称、或是所给予的文件名为-,则wc指令会从标准输入设备读取数据。

1
wc [-clw][--help][--version][文件...]
  • -c或--bytes或--chars只显示Bytes数
  • -l或--lines 只显示行数
  • -w或--words 只显示字数
  • --help 在线帮助
  • --version 显示版本信息
1
2
3
4
# testfile文件的统计信息
wc testfile
# 3 92 598 testfile
# testfile文件的行数为3、单词数92、字节数598

vim

发表于 2019-08-10

vi/vim 的使用

vi/vim 共有三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

阅读全文 »

echarts-markPoint

发表于 2019-08-09
整体说明

标注(markPoint)的数据数组。每个数组项是一个对象,有下面几种方式指定标注的位置:

  1. 通过x, y属性指定相对容器的屏幕坐标,单位像素,支持百分比。
  2. 用coord 属性指定数据在相应坐标系上的坐标位置,单个维度支持设置 'min', 'max', 'average'。
  3. 直接用 type属性标注系列中的最大值,最小值。这时候可以使用 valueIndex 指定是在哪个维度上的最大值、最小值、平均值。或者可以使用 valueDim 指定在哪个维度上的最大值、最小值、平均值。
  4. 如果是笛卡尔坐标系的话,也可以通过只指定 xAxis 或者 yAxis 来实现 X 轴或者 Y 轴为某值的标线。

当多个属性同时存在时,优先级按上述的顺序。

阅读全文 »
123…27

chenoge

一个程序猿和一支笔的故事

267 日志
438 标签
© 2020 chenoge
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4