1.编程语言
html+css标记语言
js:轻量级的交互语言->全栈编程语言
- 面向对象:
+ C++
+ JAVA
+ PHP
+ C# (.net doc)
+ JS
- 面向过程
+ C
java与javascript没有关系
2.js学习哪些部分?
- ECMAScript(es) 艾克马 斯奎普特
- DOM :document object model 文档对象模型
API(属性和方法)让JS可以获取操作页面中的dom元素
- BOM :browser object model 浏览器对象模型。提供各种api,让js操作浏览器
3.变量(varible)
它不是具体的值,只是用来存储具体值的容器,值可以改变。
基于es语法规范,js创建变量
- var (es3)
- function (es3) 创建函数,函数也是变量,存储的值是函数类型
- let (es6)创建变量
- const (es6)
- import 基于es6的模块规范导出需要的信息
- class 基于es6创建类
```
var [变量名]=值; var num = 12;
let [变量名]=值;
const [变量名]=值;
function 函数名(){ function Fn(){}
}
...
var n = 13;
n= 14;
alert(n+10); =>弹出来24,此时n代表14;
const m = 100;
m = 200; =
```
创建变量命名:语义化更强一下 add/ create / insert / delete(del) / update /remove(rm) / info / detali
- 严格区分大小写
- 遵循驼峰式写法,按照数字,字母,下划线,$,命名(数字不能作为开头);英文命名单词拼成完整的名字,第一个单词小写,其余有意义的单词首字母大写
- 不能使用(特殊含义)关键字和(未来可能会成为关键字的叫)保留字
```
var n = 12;
var N = 13;//=>两个n不是同一变量
var studentInfo / student_info / _studentInfo (_下划线在前,都是公共变量)
$studentInfo (一般存储jquery元素)
```
- 基本数据类型
+ 数字number 布尔boolean null 字符串string undefined
- 引用数据类型
+ 对象object
+ 普通对象 数组对象 正则对象 日期对象
+ 函数function
- es6中新增的特殊类型 symbel 唯一值
```
var n = 13;//=>0 -13 12.2 数字中有个特殊的值NaN(not a number)表示一个不是有效的数字 ,但属于number类型
var s = '';//=>"" '12' "{}" 引号包裹起来的都是字符串有0到多个字符组成
var b = true;=>布尔2个值true和false假
[引用数据类型]
var o = {name : '珠峰',age: 9};//=>普通对象:大括号包裹多组属性和属性值 {} 空对象
var ary = [12 ,23,24,25] ;//=>中括号包裹起来多项内容是数组,0到多项内容 []空数组
var reg = /-?(\d|([1-9]\d+))(\.\d+)?/g ;=>有元字符组成的一个完整的正则 // 不是正则是单行注释
function fn (){
}
symbel 创建出来的是唯一值
var a = Symbel ('珠峰');Symbol 不是字符串
var b = Symbel ('珠峰');"Symbol" 是字符串
a==b; ->false
```
- 【代码如果运行】
- 浏览器内核来渲染解析
- 基于node来运行基于v8引擎渲染,解析js工具 // 通过cmd 基于node运行当前文件
- 【输出结果】
- alert :弹出方式浏览器提示框 window.alert 全称 输出结果全部转化为字符串
- alert(1+1);=> '2'
alert ([12,23]);=>'12,23'
[12,23].toString() =>"12,23"
alert({name: 'xxx'}); =>'[oject object]' 对象toString后的结果就是object object对象为啥?
- confirm : 确认提示框,有确认和取消按钮
```
var flag = confirm('确认要退出吗?');
if(flag){
//=>flag:true 用户端点击的事确认按钮
} else {
//=>flag:false 用单击的是取消按钮
}
```
- prompt :在confirm基础上加上输入框
var num =12;
var flag =prompt(num);
alert(flag);
- console.log:在浏览器控制台输入日志(fn+f12)
/* 快捷键:num.log TAB*/
+ Elements:显示和修改当前页面中的元素和样式
+ consloe :控制台,js代码中.log输出到这里,也可以直接编写js
+ console.dir :比log输出详细一些(输出对象数据值的时候)
- console.table: 把json数据按照表格的方式输出
- console.log(' 普通输出~ ');
console.warn(' 输出警告! ');
console.error(' 输出错误!!! ');
 

JS系列:编程语言的更多相关文章

  1. Ember.js系列文章

    JS前端框架之Ember.js系列文章 本文为文章索引,主要是罗列Ember.js的相关文章便于阅读. 相关演示代码:github for free. 基础篇 1. EmberJs之What|Why| ...

  2. 【D3.V3.js系列教程】--(十四)有路径的文字

    [D3.V3.js系列教程]--(十四)有路径的文字 1. 在 svg 中插入一個 text // 在 body 中插入一個 svg var svg = d3.select('body').appen ...

  3. 【D3.V3.js系列教程】--(十五)SVG基本图形绘制

    [D3.V3.js系列教程]--(十五)SVG基本图形绘制 1.path <!DOCTYPE html> <html> <head> <meta charse ...

  4. 【D3.V3.js系列教程】--(十二)坐标尺度

    [D3.V3.js系列教程]--(十二)坐标尺度 1.多种类型的缩放尺度 Quantitative Scales Linear Scales Identity Scales Power Scales ...

  5. node.js系列笔记之node.js初识《一》

    node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...

  6. 微信JS图片上传与下载功能--微信JS系列文章(三)

    概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){ v ...

  7. 微信JS分享功能--微信JS系列文章(二)

    概述 在上一篇文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的分享功能进行描述,供大家参考. 代码 $(document).ready(f ...

  8. js系列教程2-对象、构造函数、对象属性全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...

  9. js系列教程1-数组操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...

  10. Node.js系列-http

    前言: 最近一直忙着公司项目的事,战友们的留言也没空回复,博客也有段时间没有更新了,年底了就是一个的忙啊~~~(ps:同感的也给个赞吧) 现在前端的就是一直地更新一直有新的东西出来,什么ES2015, ...

随机推荐

  1. Objective-C 消息发送与转发机制原理(摘)

    八面玲珑的 objc_msgSend 此函数是消息发送必经之路,但只要一提 objc_msgSend,都会说它的伪代码如下或类似的逻辑,反正就是获取 IMP 并调用: id objc_msgSend( ...

  2. export default 和 export 的主要区别

    export default 和 export 的主要区别 在于对应的import的区别:export 对应的 import 需要知道 export抛出的变量名或函数名 import{a,b}expo ...

  3. Objective-C多态:动态类型识别+动态绑定+动态加载

    http://blog.csdn.net/tskyfree/article/details/7984887 一.Objective-C多态 1.概念:相同接口,不同的实现 来自不同类可以定义共享相同名 ...

  4. Cyclical Quest CodeForces - 235C (后缀自动机)

    Cyclical Quest \[ Time Limit: 3000 ms\quad Memory Limit: 524288 kB \] 题意 给出一个字符串为 \(s\) 串,接下来 \(T\) ...

  5. 【数论】[逆元,错排]P4071排列计数

    题目描述 求有多少种长度为n的系列A,满足以下条件: 1~n这n个数在序列中各出现一次:若第i个数a[i]的值为i,则称i是稳定的.序列恰有m个数是稳定的. 输出序列个数对1e9+7取模的结果. So ...

  6. 应用Synopsys Synplify 综合的注意一个问题

    在Xilinx ISE中使用Synopsys Synplify综合时,注意约束文件*.ucf需在当前工程的文件夹下.不要将其它文件夹下的同名文件的约束当成当前工程下文件的约束.

  7. Linux中的文件

    一般情况下,每个存储设备或存储设备的分区(存储设备是硬盘.软盘.U盘 ..)被格式化为文件系统后,都会有两部份,一部份是iNode,另一部份是Block.Block是用来存储数据用的,而iNode就是 ...

  8. Unknown column 'startname' in 'field list

    Unknown column 'startname' in 'field list  字段匹配不上 解决思路 1.检查数据库字段名与sql中的字段名是否一致 2.是否为关键字或中英文区别 ,(关键字可 ...

  9. 使用analyze命令统计信息

    ① 搜集和删除索引.表和簇的统计信息② 验证表.索引和簇的结构③ 鉴定表和簇和行迁移和行链接针对analyze的搜集和删除统计信息功能而言Oracle推荐使用DBMS_STATS包来代替analyze ...

  10. TermKit的新一代Mac终端,在Ubuntu 11.04 轻松安装TermKit

    作为开发人员的必备工具,终端程序却一直没有什么大的变化,TermKit旨在改变这一切,作为下一代的命令行/终端程序,TermKit为我们提供了一个图形化的终端/命令行程序,它可以以可视化的方式展示终端 ...