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. redux沉思录

    要素:store.reducer.dispatch/subscribe connect:将业务逻辑剥离到容器类,数据的双向绑定: 数据.操作.UI分离.命令封装 核心思想:对共享状态的维护: 核心代码 ...

  2. React 引入import React 原理

    本质上来说JSX是React.createElement(component, props, ...children)方法的语法糖. 所以我们如果使用了JSX,我们其实就是在使用React,所以我们就 ...

  3. Docker 更改容器映射端口

    1.编辑容器的配置文件进行更改端口: docker run 运行启动时 -p 可以指定容器启动映射端口 ( ) 可以编辑配置文件 进行修改:(需要重启docker 服务 不止是是容器 才能生效.只能重 ...

  4. RookeyFrame 一些心得 或者 调试技巧等

    因为没有依赖具体的实现层,类库的输出路径又没有设置在web层的bin目录,所以每次都要拷贝实现层的DLL过去,有时候拷贝过去了还是没有反应,估计是缓存什么的吧, 解决:先那几个web层bin目录的 D ...

  5. 【数论】[素数筛,phi]P3601签到题

    题目描述 给出l,r,要求求出\(\sum_{i = l}^r (i - phi[i]) mod 666623333\) \(1\leq l\leq r\leq 10^{12}\),\(r - l \ ...

  6. nginx 反向代理之 proxy_set_header

    proxy_set_header用来设定被代理服务器接收到的header信息. 语法:proxy_set_header field value; field :为要更改的项目,也可以理解为变量的名字, ...

  7. ansible-playbook-批量修改主机名

    修改cat /etc/ansible/hosts [test]10.27.235.108 host_name=test_host_name - hosts: test user: root gathe ...

  8. 自己动手实现DNS协议

    1. 主要内容 不说废话,直接进入正题.先说说本文本文的主要内容,好让你决定是否看下去: 介绍DNS是干什么的: 介绍DNS是如何工作的: 介绍DNS请求与响应的消息格式: 编程实现一个简单的DNS服 ...

  9. vs code搭建python和tensorflow环境

    anaconda 安装tensorflow-gpu环境见https://www.cnblogs.com/wintersoft/p/11620267.html vscode中设置python虚拟环境Ct ...

  10. Oracle数据库备份、灾备的23个常见问题

    为了最大限度保障数据的安全性,同时能在不可预计灾难的情况下保证数据的快速恢复,需要根据数据的类型和重要程度制定相应的备份和恢复方案.在这个过程中,DBA的职责就是要保证数据库(其它数据由其它岗位负责) ...