JavaScript

  作为一名初入前端领域的菜鸟,之前虽然接触过js,最近听到同学吹嘘react,vue ,ES6,模块化,组件化,我整个人是懵逼的,我感到非常蓝瘦,香菇。所以想借用这个平台来激励自己学习web知识,同时也希望分享一些自己的学习心得。把《JavaScript高级程序设计3》浏览了一遍,但是感觉学的不够深入,作为前端三大基础之一,在学习框架,库之前还是打扎实基础吧。因为个人基础和理解,记录中可能存在错误和出入,侵删..

  1、对于js简介:

       JavaScript 诞生于 1995

  ECMA European Computer Manufactures Association

  宿主环境:Web浏览器,Node,Adobe Flash

  JavaScript:核心ECMAScript  文件对象模型DOM, 浏览器对象模型BOM

  文件对象模型(DOM):提供访问和操作页面内容而方法和接口,

  浏览器对象模型(BOM):提供与浏览器交互的方法和接口。

  宿主环境:Web浏览器,Node,Adobe Flash

   2关于在HTML中使用JavaScript

  一般在<head>中外联,使用<script>标签,这里记录下script标签的6个属性。

   async;charset;defer;language;src;type.这里基本用到的只有src type和defer,src在属性时外联的时候加载的文件地址,type一般编辑器都可以添加,text/javascript

重点记下defer和src。

  src:带有src属性的<script>标签元素在<></>中间不能再加入js代码,如果包含了代码,只会加载执行外部脚本文件,嵌入的代码被忽略。另外,src属性可以指向当前html页面所在域之外的某个域的URL,(可以实现跨域加载?跨域的概念还不是很清楚,后面看到jsonp comet再说 ),存在安全性。

  defer:<script defer='defer'></script>浏览器立即下载,延迟执行,整个页面解析完成之后再运行,执行顺序不一定由上而下(没用过)。

文档模式:

  现在用的<!DOCTYPE html>属于html5的范畴了,混杂模式和标准模式一般用标准模式吧,不知道混杂模式什么用。用混杂模式然后用ie5出现一堆bug?不太清楚..

第三章 基本概念

  驼峰式写法、数据类型和操作符。

  typeof 操作符:undefined,boolean,string,number,object,function.

    null:空对象指针,使用typeof检测返回object number:NaN表示一个非数值,NaN不等以NaN,数值转换:Number()、parseInt()、parseFloat()

重点记录下object:

    object的每个实例具有下列属性和方法:Constructor:保存着用于创建当前对象的函数。

                      hasOwnProperty(propertyName):对象的属性(键,key)是否存在于实例中,而不是原型对象中(每个函数一创建就有一个prototype属性,指向他的原型对象,原型对象中自带的constructor和一些自定义的方法,每个函数的实例都指向这个原型对象,从而有原型对象中的属性和方法。)

                      isPrototypeOf(object):检测传入的对象是否是另一个函数的原型。

  操作符:++a先自增再参与运算/a++先参与运算再自增

      位操作符:~ 按位非,求反码 ;| 按位或,真1即可  ^按位异或  <<左移  >>右移

  语句:for-in、lable,with语句

      for-in:常用的迭代语句  for(var property in obj) obj:要迭代的对象,对象的属性每次赋值给property。

      lable: lable:statement  e: isFunction: function(){} 相当于对function的标记,(我的理解是可以用来在js文件之间调用函数),用来引用。

  

  函数参数:特别之处在于参数可以传递任意个,传进来的参数保存在函数arguments对象中,与数组类似, arguments.length可以知道传进来几个参数。函数无重载。

总结:前三章是一些很基础的内容,有过一些编程基础基本浏览一下就可以了,从第四章开始开始学习js核心内容,包括原型,作用域等等。

    

原文地址:https://www.cnblogs.com/hai233/p/5957266.html