Web前端学习第十四天·fighting_JavaScript概述

什么是JavaScript?

  JavaScript是一种具有面向对象(OOP)能力的,解释型的程序设计语言。

    解释型:直接读它的代码,而不是像java等需要经过编译器编译成.class文件后,执行.class文件。

  它是基于对象和事件驱动并具有相对安全性的客户端()脚本语言。

    事件驱动:比如点击按钮,选中文本等的操作,触发一些事件。(艾玛,我就这么理解的)

    相对安全:删除文件文件夹等诸如此类的相对恶意的操作是没有的。

    脚本语言:不像java需要jdk环境一样需要特殊的环境,只需要有浏览器即可。

JavaScript的特点

  松散性:变量不需要明确指定一个类型。

  对象属性:JavaScript中的对象把属性名映射为任意的属性值。像哈希表和关联数组。

    关联数组:填充数组时为每个元素明确的给出下标,而这种下标不仅仅局限于数字,也可以是字符串,例如:arr[“name”]=“Kity”,arr[“age”]=23。

  继承机制:基于原型。(不懂……学到后面应该会懂吧呵呵呵……据我所听说,还有什么原型链,应该跟这个有关系。今天的笔记太没营养了,我嫌弃自己!)

JavaScript核心

  ECMAScript(语法部分)+DOM(文档对象模型)+BOM(浏览器对象模型)

    ECMAScript:与浏览器没有依赖关系,定义的是语言的基础,组成部分有:语法,类型,语句,关键字,保留字,操作符,对象等。

    DOM:Document Object Model 文档对象模型。针对XML但是经过扩展用于HTML的API(Application Programming Interface)应用程序编程接口。W3C对DOM的定义是“一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态的访问和修改文档的内容、结构和样式”。

    BOM:Browser Object Model 浏览器对象模型。使用BOM可以控制浏览器显示页面以外的部分。 

<script></script>标签放置的位置

  有三种放置方法:

    1.放在<head>标签中,将脚本直接写在<script type="text/javascript">标签里面。

    2.放在<head>标签中,将脚本写在js文件中,通过<script type="text/javascript">标签的src属性引入。

    3.引入外部js文件,<script type="text/javascript">标签放在html文档的最后,</body>标签之前,这样能使浏览器更快的加载页面。

  引入js文件的方法,优点是:可维护性高,可缓存(加载一次,无需再加载),方便扩展。

  

浏览器使用的渲染引擎

  基于Webkit:Safari、Chrome

  基于Gecko:FireFox

  基于Trident:IE

  基于Presto:Opera

  还有很多不同种类的页面渲染引擎。

关于JavaScript的一些基础语法

  允许直接对变量赋值而无需事先声明。

  变量名和其他语法元素的名字区分大小写。

  变量名中不能包含空格或者标签符号($符号除外),允许包含字母、数字、下划线和美元符号,但第一个字符不能是数字。

  强类型:必须明确类型声明的语言称为强类型语言。

  弱类型:不需要进行类型声明的语言称为弱类型语言,如JavaScript。

  反斜线对字符进行转义。如:var mood = ‘don‘t ask’;

  数组用Array关键字声明。声明方式有以下几种:

    1.var arr = Array(4); 或者不给出元素个数,而后利用下标进行数组的填充。如:arr[0] = 123;

    2.var arr = Array(123,4,"abs","http");

    3.var arr = [123,4,"abs","http"];

  关联数组:填充数组时为每个元素明确的给出下标,但是这个下标不仅仅可以是数字,也可以是字符串。如:arr["name"] = "Candy";

  对象的创建方法有两种:

    1.var lennon = Object();

     lennon.name = "Candy";

     lennon.year = 1993;

     lennon.sex = "female";

    2.var lennon = {name:"Candy",year:1993,sex:"female"};

  “==”  相等操作符。相等操作符认为空字符串与false的含义相同,所以严格比较相等时可以使用“===”。同理,严格比较不等时使用“!==”。

  var关键字与变量的作用域:如果函数中使用了var,那么这个变量是局部变量,只存在于这个函数中;如果没有使用var,那么这个变量是一个全局变量,如果脚本里已经存在一个与之同名的全局变量,这个函数就会改变那个全局变量的值。在定义一个函数时,一定要把它内部的变量都声明为局部变量,这样就能避免任何形式的二义性隐患。

  对象有三类:

    用户定义对象:程序媛自己定义的对象。

    内建对象:JavaScript预先定义的一系列对象,如:Math(Math.round()方法可以把十进制数舍入为一个与之最接近的整数)、Array、Date(用来存储和检索与特定日期和时间有关的信息)。

    宿主对象:有浏览器提供的预定义对象,如:Form、Image、Element、document(能用来获取网页上的任何一个元素的信息)。

全是概念!再见~~~

原文地址:https://www.cnblogs.com/Candy1029/p/5539838.html