JavaScript基础知识(1)

来源:互联网 发布:mac版导入铃声 编辑:程序博客网 时间:2024/06/07 15:38
 前端三大基础知识:
 HTML:专门编写网页内容
 CSS:专门设计网页样式
 JavaScript:专门设计网页交互的语言

 交互三步:用户输入数据,程序处理数据,返回结果

 什么是JavaScript:
 1.专门设计网页交互的语言
 2.运行在专门的JavaScript解释器中
 3.“解释”执行--像读书一样
 4.互联网第一大语言:JSer

 故事:Netscape
 Java write once run anywhere
 像极了Java,比JAVA简单的多
 4门语言拼凑出JavaScript

 ECMAScript标准:规定了JavaScript核心语法
 微软:JScript
 ECMAScript标准:是一纸空文
 JavaScript和JScript都号称完全实现了ECMAScript标准
 W3C:DOM标准:专门操作HTML元素,css样式,事件的统一标准!
 BOM:专门操作浏览器窗口的工具。没标准,由浏览器厂商自行实现。

 完整的JavaScript语言三部分组成:
 1.核心(ECMAScript)
 2.文档对象模型(DOM,Document Object Model)
 3.浏览器对象模型(BOM,Browser Object Model)
 即JavaScript=ECMAScript(核心语法)+DOM(操作页面内容)+BOM(操作浏览器窗口)

 Netscape倒闭后元老员工成立了基金会Mozilla-->开发出Firefox,和标准最接近的浏览器
 JSer最大挑战:浏览器兼容性问题

 JavaScript典型用途:
 1.客户端数据计算
 2.客户端表单验证
 3.动画

 JavaScript特点:
 1.纯文本
 2.解释执行
 3.弱类型
 4.基于对象

 JavaScript如何使用:
 1.使用浏览器自带的JS解释器:F12-->控制台
   光标出写脚本代码,回车执行
 console:指代控制台:专门调试程序输出结果的窗口
 log:控制台console提供的一个功能:向控制台输出一行日志,输出多行可以shift+enter键。确定后按回车键
 就行了。
 注意:在JavaScript中区分大小写!!!
      关于引号使用: 字符串单双引号都行
 2.单独安装专门解释器软件:node.js(该软件是利用chrome的v8引擎做的)
 Windows键+r键-->cmd-->node打开,退出按两次Ctrl+c就行。
   执行.js文件:
      1.先cd到.js文件所在路径
      2.node 文件名 回车
 也可直接Windows键+r键-->cmd-->node打开,然后输入js代码,如console.log('hello world');换行即可执行
 3.随网页的加载一同运行:
   浏览器包含了两种工具:排版引擎和解释引擎
   排版引擎:专门加载HTML内容和css样式
   解释引擎:专门运行js脚本


 .js文件时专门保存JavaScript文件


 保险起见,<meta>要写在<title>上面,在IE8及以下版本中会有不兼容问题

 <script></script>元素:专门包含js脚本块的元素
 <script>中脚本块何时运行?随网页加载,解释运行。读到才执行,先读到先执行。<script>放置的先后顺序
 影响到程序的结果。
 <script>中都要用js语法!
 HTML元素的事件“属性”中:可以写js代码
 什么是事件?元素可以根据鼠标或键盘的不同操作响应不同的交互行为

 charset必须和文件的存储编码一致,一般所有的互联网文件都存utf-8

 优化:<script>放在body的最后。
 一次定义处处使用,一次修改,处处生效。
 解决:凡是重复编写的代码块,都要封装为一个方法。
 方法:执行一个特殊功能的一组代码的序列。一般定义在<head>下的<script>中.
 语法:function 方法名 (){重用的代码块}
 调用:方法名()-->调用后立即执行,不调用方法是不会执行的。

 调试:debug
 bug问题  debug解决问题,排除错误
 只要没反应或效果没出来就是出错!-->F12查看错误原因-->定位错误位置!
 <script>脚本块中的错误,仅影响当前脚本块中出错位置之后的脚本执行,不影响<script>之外的其他元素加
 载或脚本块执行。
 function中的错误:只有调用方法时才触发!

 页面内部脚本块问题:仅当前页面可用!
 解决:外部.js文件!
 什么是.js文件:专门保存js脚本源代码的文件。源代码都要放到js解释器中才能执行。
 如何使用.js文件?2步:1.创建.js文件,编写源代码;2.在页面中引入外部.js文件<script src="myjavascript.js"></script>

 外部脚本文件:
 将JavaScript

 万一外部脚本文件和内部脚本文件定义了相同的方法,解释执行。


 javascript=ECMAScript(核心语法)+DOM(操作网页内容)+BOM(操作浏览器窗口)

 ECMAScript(核心语法):区分大小写、字符串必须用引号(单双都行)包裹、每条语句结尾都建议有分号

 语句:让程序可以做一件事的一行命令
 脚本块:多行语句的序列
 程序:让计算机模拟执行人类的想法

 注释:不会被javascript引擎解释执行或显示的代码说明---给程序员看的。
 注释也占网页流量,生产环境必须去掉。

 html注释:<!---->
 css注释:/* */
 js注释:/ /单行注释  /* 多行注释*/

 变量:
 什么是变量?内存中专门存储数据的空间。

 程序都是在内存中运行。运行时候数据都是要保存在内存中的。
 任何程序都可用三个字母概括IPO:Input Process Output

 何时使用变量?只要在程序中临时存储数据,都要放在变量中

 怎么使用变量?声明,命名,初始化和使用

 声明:在内存中开辟一个存储空间,并且取一个名字

 怎么声明?var 变量名;

 赋值:将等号右边的数据,装入等号左边的变量中。
 如果未赋值:js默认赋值为undefined

 变量命名规则:
 可包含字母、数字,下划线、美元符号
 不能以数字开头
 常用于表示函数、变量等的名称
 见名知意
 保留字(关键字)不能当变量名
 保留字:js中已经占用的特殊意义的关键字
 使用:使用变量名等效于直接使用变量中存储的数据
 + :拼接多段文字为一句话。

 常量:一旦创建,值不可改变的特殊变量。常量只能用大写。
 如何使用常量:const 常量名=常量值;

 强调:只有等号才可以向变量中存入新值。普通运算不会改变变量的值,只是使用变量的值。

 只要带var就是声明,只要声明就会开辟内存空间。js中新同名变量的空间会替换旧变量的空间。有几个var就
 会创建几个存储空间,但是同名的变量中旧的会被丢弃。

 数据类型:变量中存储的数据的类型。

 js是弱类型的:变量本身没有类型,只有变量中的值才有类型。一个变量,可以反复保存不同类型的数据。

 为什么要有数据类型:现实中所有数据根据用途不同,都分为不同数据类型。

 javascript数据类型:原始类型和引用类型
 原始类型:数据保存在变量本地。
 number类型:表示一切用于比较或数学计算的数字
 程序中数字分整数、浮点数(显示中的小数)。在js中一切数字都用number保存,不分整数类型还是小数类型
 。

 如何定义number类型值?不带引号的数字字面量。如var bj=58;就是定义的number类型

 程序中数字类型的舍入误差:程序中不能准确表示1/10,就好像现实中不能准确表示1/3一样。
 如何修正舍入误差:按指定位数四舍五入:数字.toFixed(小数位数)。如:
         var money=2;
     var price=1.8;
     var change=money-price;
     console.log(change.toFixed(2));

 今后计算结果小数位数超长,说明碰到舍入误差。按位四舍五入。

 字符串类型:string类型,一串字符的序列。由unicode字符、数字、标点符号组成的序列。
 Unicode:对所有语言文字中的字符编号
 Why:因为计算机中只能处理数字,无法处理文字。计算机处理unicode编号,就等效于处理编号对应的文字。

 转义字符:专门表示非打印字符以及特殊符号。使用了特殊字符后,可以使用\将其转为原文
 \n换行,\t空格tab键,\
 如何使用转义字符:\特殊符号   比如\n,\t
 如果字符串内容中包含与语法相冲突的特殊字符,要用\转为原文。例:console.log("\tjs是专\n门编写\"网
 页的\"脚本语言");注意这里的\要放在""前面,即是:  \" 内容 \"

 console.log(zhang.charCodeAt(0));计算字符编码

 注:在js中,回车就相当于分号,所以同一个语句里回车的话是输不出来的。
 字符串变量的内容一旦创建不可改变。如果改变只能创建新字符串,抛弃旧字符串。
 鄙视题:
 var str="hello";
 str=str+"world";
 这个过程中一共创建了3个字符串!也就是在完成赋值运算的瞬间,内存里有3个字符串!


 Boolean类型:仅有两个值得特殊数据类型:true,false
 何时使用Boolean类型?只要一个值只有真假两种情况,就用Boolean类型。

 undefined类型:表示一个变量仅声明过,但从未赋值。所有未赋值的变量,默认值都是undefined。
 undefined类型的值还是undefined!undefined既是值也是类型。

 原始类型大小:
 number:如果保存整数4字节,浮点数8字节
 string:每个字符2字节
0 0
原创粉丝点击