函数作用域与作用域链理解

先来个很有意思的栗子:

// 函数作用域
var scope=”scope”;
function fun(){
document.writeln(scope); //undefined
var scope=”local”;
document.writeln(scope); //local
}
fun();
document.writeln(scope); // scope

var wer = “global”;
function fv(){
document.writeln(wer); // global
wer = ‘function’;
document.writeln(wer); // function
}
fv();
document.writeln(wer); // global

JS对象原型(继承)及原型链浅结

对于原型(继承)和原型链,我们首先得知道他两定义

原型:函数创建时(通过new创建)会有一些属性,比如prototype:返回对象原型的引用,定义储存子类继承的属性和方法,这个(prototype)就是原型,其中fn.prototype则就是原型对象。

原型链:首先对象均有proto这个属性,那么该对象通过proto可以访问到其构造函数为该对象提供的属性和值,即fn.prototype。而fn.prototype中又有proto这个属性,同理实例对象就可以通过proto访问到上层函数对象的属性和值,即形成原型链

那么原型在哪些地方要用呢?继承的时候

  • Js中只有对象有继承。继承的属性和方法都是定义在prototype从而形成一条原型链,该链最终指向null。
  • 获取原型的话建议用:Object.getPrototypeOf(person1) ;

那么原型链在哪些地方要用呢?访问对象属性的时候

  • 当试图访问对象一个属性,它不仅仅在该对象上的prototype搜寻,如果该对象没有这个属性的话,那它就会顺着这个prototype原型链往上找(只能是在prototype上定义的属性)

初读JS中Infinity、NaN、undefined、null

首先要确定的是,js有number、string、boolean、Null、undefined和混合Object这六种数据类型。

数值型理解要点(对于Infinity、NaN):

对于数值型number来说。 js中只有这个单一的数字类型。它在内部表示为64位的浮点数(大部分浮点数只能近似地表达小数点以后的部分)。和java的double型一样。所以1和1.0是相同的值。那么算的话便是浮点数运算了,所以运行效率便有所下降,并且js也不是计算语言合适的选择。

那么说到数值型就要说这两个值Infinity、NaN了:

首先要理解这两个值出自于哪里,是做什么用的?


其中Infinity和NaN均出自于js中全局对象,为全局属性(也可以作为全局变量,但只可读)。而 js对这两个值定义是:Infinity是存放“表示正无穷大的数值”NaN是代表非数字的特殊值,用于指示某个值不是数字。

CSS样式选择器

首先,外联样式表通过标签表现于三种形式,持久样式表、自选样式表、替代样式表。对于标签来说, itle属性很重要,持久样式表没有title属,而替代样式表属性中rel=”alternate tylesheet”。

可以使用meta元素来设置自选样式表:

<link rel=”alternate stylesheet” href=”css/theme1.css />

CSS3选择器有以下几种:

  1. 元素选择器:

    通用元素选择器:    * { }
    class类选择器:    .error { }
    id选择器:         #id { }
    类型选择器:       p { }
  2. 关系选择器:

    E F 包含选择符:     选择所有被E元素包含的F元素。
          
        

浅谈用Hexo搭建GitHub博客

在GitHub上一般是用Hexo搭建博客,而搭建博客则是要清楚应分为几个步骤去做:

首先要有个github账号

  1. 搭建环境,安装node.js、git,这几步安装的话,没有坑,一般都可以完成,所以不做过多详细说明了

  2. hexo的安装配置(注意:hexo的不同版本很多配置是不一样的

    a. hexo安装:
    hexo是一款基于Node.js的静态博客框架。首先创建一个自定义文件夹
    在命令行进入此文件夹下,输入安装命令:
    npm install hexo-cli -g
    npm install hexo --save

学习HTML-语义化

我们知道HTML5是W3C对以前HTML4.01版本的补充和修订,支持了很多页面交互的元素标签,并提出了HTML的编写规范标准,其中就包括语义化HTMl文档。那么html的语义化有什么用处和作用呢。

“ HTML的元素、属性和属性值都定义了某种含义。如lang属性就代表内容的语言。作者不能以它们本身合理的语s义目的之外的方式来使用元素、属性和属性值。“
——WHATWG 标准

● HTML语义化的理解
定义上是说语义化的HTMl是描述文档内容类型的HTML元素。也就是可以这样理解为html语义化是以规范标准来书写html文档,使得结构层次清晰明了,不必写过多的div,从而帮助浏览器更好地读懂html文档(浏览器以前解析html的话,若无正确语义标识,浏览器很难解析html文档的标签内容)。比如根据html5大纲算法,语义化html文档应是用区块元素,即是用section、article、aside和nav这四种。

简单来说就是语义化的作用是使书写HTML文档结构具有语义性,即层次结构符合标准规范。

  1. 使得浏览器解析时能更好的读懂我们书写的html文档结构排布,便于浏览器快速地解析文档,渲染页面。
  2. 自然而然我们人也能便于读懂HTML文档。也便于后期修改维护页面。

随笔感悟

在写博客中积累自己的知识和经验,积极与他人分享和交流想法——我最初的想法而已

我自己感性时比较文艺,理性时喜欢逻辑思考一些东西,也有自己的想法。平时热爱运动,喜欢踢球,愿意
与他人分享喜悦。博客呢,就会记录我平时的一些感想点滴和心情日记(主要还是写技术了。。。)。

热爱自己所从事的专业,喜欢前端、喜欢GitHub上的绿点点、喜欢刷算法题看到Accepted。

所以啊,记录点滴,新的一天,新的开始