javascript概要

javascript概要

基础部分:

语言特点:解释型语言、动态语言、弱类型定义语言、函数式编程、基于原型的面向对象(可忽略)。

应该知道的一些概念:

解释型语言编写的程序是直接由运行环境执行的,需要的是源代码文件与解释器(运行环境),是解释一句执行一句。(php、python)

编译型语言编写的程序是需要编译和链接的,生成的是可执行代码(c)或基于某种运行环境的字节码(c#、java)。

动态语言是不需要(没有强制性)在变量定义时指定数据类型的,变量的数据类型是在运行时有上下文来判断的。(python、php)。

静态语言是指在变量定义时必须指定其数据类型的语言,如c,需要在变量声明时指定数据类型。

强类型定义语言是指一个变量在指定其数据类型后,必须经过显式的强制转换才能指定其他类型的语言。(c、java、python),但其中存在了一些隐式转换(不需要指定要转换的类型,解释器或编译器根据推断来指定要转换的类型,如 I = "kkkk";I = 1 ;之后变为了int型)。但不允许不同类型的变量进行运算。

弱类型定义语言是变量可以随时修改其数据类型的语言。(php、vb),可以进行不同类型的变量运算(运算规则可能发生了变化)。如


I = 1;I +=‘2‘;// I 的值变为了‘12‘

I = 1; I -=‘2‘; // I 的值变为了-1

?

javascript的数据类型

字符串型、数值型、布尔型、null、undefined //基本数据类型

Object类型为其构造类型,用于用户的自定义类型。(function类型是另一种构造类型,但我认为可以将他归于Object类型中,不必划分的过于细致,除非非的区分他俩时(判断一个变量的类型 ))。

?


数据类型


示例


说明


字符串型


var I =‘hello‘;

var I = "hello";

var I = ‘hello "hhhh"‘;


字符串使用双引号或单引号括起来表示,特殊字符可以通过转义字符来表示


数值型


var I = 1 ;


数值的内部都是64位的浮点小数,但是没有直接指定的必要


布尔型


var I = true;

var I = false ;

?

null


var I = null;


指定变量没有任何引用任何对象


undefined


不主动使用


用于标定变量是否有其具体的意义


Object

( function )


var obj = { var I ;var I } ;

//生成object类型

?

var func = function(){

?

};//生成function类型


用于构造用户自定义的数据类型,使用大括号来标记

?

补充:字符串型、数值型、布尔型都有对应的对象(String类、Number类、Boolean类),当通过字符串型的变量调用String类的属性或方法是,会发生隐式转换,其余几个也会有类似的。

数据类型转换:

Number(值);// 将值转换为数值型

String(值); //将值转换为字符串型,当含有不可转换的字符是,会转换成NaN

Boolean(值);//将值转换成布尔型,特别的,空字符串( "" )和0、null、NaN、undefined代表了false,其余的代表了true

?

javascript的语句、表达式、运算符 (结构)

应该知道的一些概念:

对应语句来说,最终都可以分解成保留字、表达式与符号(括号或者分号等),换句话说,语句的基本构成是保留字、表达式、符号,复杂语句是通过了很多的递归一类的操作形成的。

?

单条语句使用分号分隔,复合语句(代码块)使用大括号来分隔。


语句类型


示例


说明


变量声明语句

? ?

函数声明语句

? ?

表达式语句

? ?

控制语句


if-else

? ?

switch-case

? ?

while

? ?

do-while

? ?

for

? ?

for-in

? ?

for each in

? ?

continue

? ?

break

? ?

return

? ?

try -catch -finally

? ?

with

? ?

?

运算符


按优先级顺序排列

? ? ? ? ? ?

.


[ ]


New

? ? ? ? ? ? ? ? ?

( )

? ? ? ? ? ? ? ? ? ? ?

++


--

? ? ? ? ? ? ? ? ? ?

!


~


+(单目)


-(单目)


typeof


void


delete

? ? ?

%


*


/

? ? ? ? ? ? ? ? ?

+


-

? ? ? ? ? ? ? ? ? ?

<<


>>


>>>

? ? ? ? ? ? ? ? ?

==


!==


===

? ? ? ? ? ? ? ? ?

&

? ? ? ? ? ? ? ? ? ? ?

^

? ? ? ? ? ? ? ? ? ? ?

|

? ? ? ? ? ? ? ? ? ? ?

&&

? ? ? ? ? ? ? ? ? ? ?

||

? ? ? ? ? ? ? ? ? ? ?

? :

? ? ? ? ? ? ? ? ? ? ?

=


+=


-=


*=


/=


%=


<<=

?

,

? ? ? ? ? ? ? ? ? ? ?

?

注释:

// 单行注释

/* 多行注释 */

?

javascript中的数据对象

变量: var valueName ; //声明一个变量但没初始化

????????valueName = 1 ; // 进行初始化

???? var valueName = 1 ; //声明一个变量并初始化

应该知道的情况:

将类作为基本数据类型的扩充可以不用去考虑面向对象之类的东东,应为你只是个程序员,就是搬砖的,不需要考虑软件的设计部分。( 或者等你进阶之后,它才是你所需要了解的知识)。

时间: 2024-11-04 18:10:57

javascript概要的相关文章

HTML5游戏开发进阶指南 中文pdf扫描版?

HTML5游戏开发进阶指南介绍了HTML5游戏开发的一般过程和技巧.全书共分12章,第1章介绍了本书相关的HTML5的诸多新特性,包括在canvas上绘图.播放声音等,另外还引入了子画面页的概念:第2-4章利用Box2D物理引擎开发了一款非常类似于<愤怒的小鸟>的游戏,全面介绍了物理引擎的概念,以及在游戏中使用物理引擎的方法,这一部分还引入了视差滚动技巧,以实现某种伪3D效果:第5-10章开发了一款简化版的<红色警戒>游戏,这一部分涉及了相当多的内容,包括地图的制作,建筑与单位的设

JavaScript知识概要

JavaScript 1.简介 JavaScript简介:        JS是运行在浏览器端的一门脚本语言,一开始主要用来做浏览器验证,但现在功能已经不止于此.        所谓脚本语言就是指,代码不需要编译,直接运行,并且读入一行运行一行                JavaScript目前应用非常广泛,例如:浏览器端的验证,Ajax,客户端等,甚至也有服务器端的JavaScript--node.js 2.编写位置 (1)网页内部            <script type="

JavaScript语言精髓(1)之语法概要拾遗(转)

逻辑运算 JavaScript中支持两种逻辑运算,"逻辑或(||)"和"逻辑与(&&)",他们的使用方法与基本的布尔运算一致: var str= 'hello';var obj = {};x = str || obj;y = str && obj; 这种运算符的特殊之处在于,他既不改变运算元的数据类型,也不强制运算结果的数据类型.除此之外,还有两条特性: 运算符会将运算元理解为布尔值: 运算过程支持布尔短路. 因此上例中, x运算结果

JavaScript基本概要

body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(

JavaScript之对象序列化详解

一.什么是对象序列化? 对象序列化是指将对象的状态转换为字符串(来自我这菜鸟的理解,好像有些书上也是这么说的,浅显易懂!): 序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程(来自“百度百科—序列化“,学术性强,略显高端): 二.为什么会有对象序列化? 世间万物,都有其存在的原因.为什么会有对象序列化呢?因为程序猿们需要它.既然是对象序列化,那我们就先从一个对象说起: var obj = {x:1, y:2}; 当这句代码运行时,对象obj的内容会存储在一块

牛x的JavaScript编辑器你知道几个

英文:Martin Heller  译文:葡萄城控件 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群343599877,我们一起学前端! 对于JavaScript程序员来说,目前有很多很棒的工具可供选择.本文将会讨论10个优秀的支持JavaScript,HTML5和CSS开发,并且可以使用Markdown进行文档编写的文本编辑器.为什么使用编辑器而不是IDE进行JavaScript编程?原因就是速度快. 编辑器和IDE之间的本质区别在于:IDE不但可以调试,并且可以对代码进行概

Grunt 之 使用 JavaScript 语法检查工具 jshint

前端开发环境准备好了,我们准备开始进行开发. 前端开发的主力语言是 JavaScript,这是一种脚本语言,没有编译器,也就没有了编译器带给我们的语法检查,怎样保证代码的质量呢?jshint 是一个强大的工具. 1. 概要说明 官方地址:http://jshint.com/ GitHub 地址:https://github.com/jshint/jshint JSHint 是一个使用 JavaScript 编写的 JavaScript 的代码质量检查工具,主要用来检查代码质量以及找出一些潜在的代

从头开始学JavaScript 笔记(一)——基础中的基础

概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型) 1.1ECMAScript ECMAScript是通过ECMA-262标准化的脚本语言,ECMA-262规定语言的:语法.类型.语句.关键字.保留字.操作符.对象 1.2 DOM DOM把整个页面映射为一个多层节点结构,HTML或者XML等页面中的每个组成部分都是某种类型的节点,这些节点又包含不同

JavaScript 与函数式编程

原文:https://bethallchurch.github.io/JavaScript-and-Functional-Programming/ 译文:http://www.zcfy.cc/article/1013 译者注:推荐一篇译文,<函数式编程术语解析>. 本文是我在 2016 年 7 月 29 号听 Kyle Simpson 精彩的课程<Functional-Light JavaScript>时所做的笔记(外加个人的深入研究)(幻灯片在这). 长久以来,面向对象在 Jav