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. 什么叫pure function(纯函数)

    (来自:http://en.wikipedia.org/wiki/Pure_function) 在计算机编程中,假如满足下面这两个句子的约束,一个函数可能被描述为一个纯函数: 给出同样的参数值,该函数 ...

  2. python开发面试问题

    python语法以及其他基础部分 可变与不可变类型: 浅拷贝与深拷贝的实现方式.区别:deepcopy如果你来设计,如何实现: __new__() 与 __init__()的区别: 你知道几种设计模式 ...

  3. BZOJ 4555:[TJOI2016&HEOI2016]求和(第二类斯特林数+NTT)

    题目链接 \(Description\) 求 \[\sum_{i=0}^n\sum_{j=0}^iS(i,j)2^jj!\]对998244353取模后的结果. \(n<=10^5\) \(Sol ...

  4. 第03组 Alpha事后诸葛亮

    组长博客 项目Postmortem模板 设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们软件要解决的的问题是福州大学校园二手书的处理问题.应该定 ...

  5. STL中find和sort的用法总结

    STL算法 STL 提供能在各种容器中通用的算法(大约有70种),如插入.删除.查找.排序等. 许多算法操作的是容器上的一个区间(也可以是整个容器),因此需要两个参数,一个是区间起点元素的迭代器,另一 ...

  6. Dubbo自定义Filter统一处理异常

    Dubbo版本:2.7 使用自定义Filter注意事项 1.自定义名称不能和默认Filter相同,否则可能不生效 2.只用定义Filter类和META-INF下的文本文件,不用添加配置,@Activa ...

  7. Cesium 1.54评测 【转】

    重要功能评测 3dtiles数据上画线和贴纹理   3dtiles数据上画线和贴纹理 把线条贴到3dtiles上需要用到两个属性:clampToGround和classificationType. c ...

  8. pyzbar 安装

    什么是ZBar? ZBar是一个开源库,用于扫描.读取二维码和条形码.支持的二维码包括:EAN/UPC,QR等. 1.windows 下直接pip 安装: pip install pyzbar 2.u ...

  9. IntelliJ IDEA多屏后窗口不显示问题解决(用工具一键解决)

    IDEA 在接入外接屏且扩展的情况下,如果突然拔掉外接屏,就可能会产生IDEA 整个窗口只在屏幕的右侧显示一点点边框且无法拖拽到当前屏幕的情况. 在不再次接入外接屏的情况下,想要把IDEA窗口拖拽回当 ...

  10. Tensorflows安装(cpu版安装方法)

    一.说明 首先声明,本人系统是Windows10 64位,Win7未试. 本文旨在帮助园友以更简单的方式安装Tensorflow,下面介绍的是如何安装Python的Tensorflow cpu版本. ...