Javascript认识(1)

JavaScript 常见事宜

JavaScript介绍

JavaScript是一种直译式脚本语言,是一种动态型弱类型、基于原型的语言,内置支持类型。

Javascript内容

  1. Js核心语法(ECMAScript 核心语法)

  2. Dom(Document Object model) 文档对象模型

  3. Bom (Browser object model) 浏览器对象模型

Javascript书写位置

代码需要写在script标签内,并且script标签可写在任何位置。

这时就需要讨论script书写位置

下面是常用的两种位置

第一种

书写于<head><body>之间,这时由于浏览器的预解析,JS代码会先于HTML解析,导致JS代码会有部分失效。

这时我们就需要使用文档入口函数/文档就绪函数

window.load = function() {
/*
*这里写你的JS代码即可
*/
}

第二种(推荐)

书写于</body></html>之间。

由于此地位于HTML最后端,所以不用去考虑预解析等事请,较为方便。

变量

变量是什么

变量是一个临时存储数据的容器

Tip:变量声明需要使用var(es6中 还可以用let)

变量的命名规则

  1. 变量命名不能与关键字和保留字冲突

  2. 名字尽量能词能答意

  3. 设置名字可以使用中文(不要用

  4. 不能用以数字开头,变量名字里可以包括字母,数字,下划线,$.

  5. JS对于大小写敏感,可以使用小驼峰命名法

变量提升

在script标签中,一个变量声明及初始化后,变量声明部分会提升到script标签顶部

数据类型

数据类型可以分为两类:

1. 原始数据类型(基础数据类型)
2. 引用数据类型(对象类型)

原始数据类型

  1. Number:数字类型

  2. String:字符串类型

  3. Boolean:布尔值

  4. Null: 空

  5. Undefined:未定义的

  6. Symbol:标识符(es6)

Tip:使用typeof()可以查看数据类型

Number类型

parseInt(); 将内容变成整数形式
parseInt('123abc') == 123 ;
parseInt('123.1abc') == 123 ;
parseFloat(); 将内容变成浮点型(小数)
paresFloat('123abc') == 123 ;
parseFloat('123.12abc') == 123.12 ;
Number类型里特殊形式 NaN

NaN属于Number类型;

他的特殊性:

1. 自己不等于自己
2. 不等于任何一个值

我们可以使用isNaN()来判断值是否为NaN

Boolean类型

以下的Boolean值全部为false,其余的全是true;
1. Boolean('');
2. Boolean(undefined);
3. Boolean(null);
4. Boolean(NaN);
5. Boolean(0);
6. Boolean(false);

引用数据类型/对象定义

  1. Array :数组

  2. function :函数

  3. object:对象

object类型

object 又称 “无序列表” , “键值对” , “字典” , “哈希表” , “hash表” 等等。

var obj = {
name : 'zhangsan',
age : 20 ,
like : 'play'
// key值 : value值
}
//调用方式
console.log(obj.name);//打印出zhangsan
console.log(obj['age'])//打印出20
var a = 'like';
console.log(obj[a]);//打印出play

数据类型转换

强制数据类型转换

  1. Number(); 变为数值

  2. String(); 变为字符串

  3. Boolean)(); 变为布尔值

自动数据类型转换

  1. 数据类型不相同但是进行计算时

  2. 对非布尔值的数据求取布尔值

  3. 对非数值类型的数据使用一元运算符(+/-)

自动类型转化规则:

预期是什么类型的值,就调用该类型的转换函数。

由于自动转化不确定性,而且不易除错,建议在预期为Boolean,Number,String的地方,使用转换方法函数进行显式转化.

运算符

数学运算符

加  减  乘  除  求模(取余)  递增    递减   正  负  指数
+ - * / % ++ -- + - **

前置运算符(递增/递减在前),那么先将数值运算,在参加整体运算。

后置运算符(递增/递减在后),先将数值参加整体运算,然后在递增/递减。

赋值运算符

赋值    加等    减等    乘等    除等    取余等  指数赋值
= += -= *= /= %= **=

关系运算符

值相等    不等    全等(值与类型全相等)      不全等
== != === !==

逻辑运算符

  与      或      非
&& || !

三元运算符

条件 ? 条件为真时执行的代码 :条件为假

if,switch条件判断语句

if条件判断

写法

//第一种
if(条件){
条件满足时执行的代码
} //第二种
if(条件){
条件满足时执行的代码
}else{
条件不满足时执行的代码
} //第三种 Tip:这里面的else if可以写无数个
if(条件1){
条件1满足时执行的代码
}else if(条件2){
条件2满足时执行的代码
}else{
以上条件都不满足时执行的代码
}

switch 判断语句

写法

switch(值){
case 结果1 :
符和结果1执行的代码;
break;
case 结果2 :
符和结果2执行的代码;
break;
default :
以上结果都不符合执行的代码;
}
//Tip: 在实际的使用当中,允许多个case共用一块代码

if与switch的区别

if语句多用于判断在某些区间内成立,某些区间不成立的条件

switch语句只能用于判断在固定的值内的条件

循环

定义:主要能够帮助我们解决一些“重复性较高”的操作,并且“有规律可循”的操作

用法:通过设定开始和结束条件,只要符和条件就会执行的代码片段

for循环

for(var i = 0 ; i < 10 ; i++ ){
console.log('hello world');
}//打印10遍hello world

for in 循环

仅限操作对象

var arr = [1,4,8,9];
for(var i in arr){
console.log(arr[i]);//1 4 8 9
}

while循环

只有条件为真时才能执行

while(条件){
条件为真时执行的语句
}

do...while循环

不管条件是否为真,都会先运行一遍,然后在判断是否为真。

do{
代码
}while(条件);

循环中的关键字

break

作用:跳出当前循环

continue

作用:跳出当前那一轮循环。

javascript入门(1)的更多相关文章

  1. JavaScript入门篇 编程练习

    编程挑战 一.定义"改变颜色"的函数 提示: obj.style.color obj.style.backgroundColor 二.定义"改变宽高"的函数 提 ...

  2. JavaScript入门

    本篇内容是学习慕课网相关课程后,总结出可能未来会忘记的内容 (一)JavaScript入门操作 1.js代码插入位置,以及执行顺序 <head> <script type=" ...

  3. 慕课网JavaScript入门篇课程笔记

    1.js注释很重要 单行注释,在注释内容前加符号 “//”. <script type="text/javascript"> document.write(" ...

  4. JavaScript入门基础

    JavaScript基本语法 1.运算符 运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=).算术运 ...

  5. JavaScript入门介绍(二)

    JavaScript入门介绍 [函数] 函数function 是Javascript的基础模块单元,用于代码的复用.信息影藏和组合调用. function a(){} 函数对象Function Lit ...

  6. JavaScript入门介绍(一)

    JavaScript入门介绍 [经常使用的调试工具][w3school.com.cn在线编辑] [Chrome浏览器 开发调试工具]按F121.代码后台输出调试:console.log("t ...

  7. 开心菜鸟系列----函数作用域(javascript入门篇)

      1 <!DOCTYPE html>   2 <html>   3 <script src="./jquery-1.7.2.js"></ ...

  8. 开心菜鸟系列----变量的解读(javascript入门篇)

                       console.info(         console.info(window['weiwu'])          console.info(window. ...

  9. javascript入门视频第一天 小案例制作 零基础开始学习javascript

    JavaScript 是我们网页设计师必备的技能之一.我们主要用javascript来写的是网页特效.我们从零基础开始学习javascript入门. 但是,好的同学刚开始不知道怎么学习,接触js,因此 ...

  10. ArcGIS API for JavaScript 入门教程[0] 目录

    随时翻看. 转载注明出处,博客园/CSDN/B站:秋意正寒. Part 1 必看 ArcGIS API for JavaScript 入门教程[1] 渊源 你还真不一定知道这是啥.非得学吗? ArcG ...

随机推荐

  1. python——异常(1),捕获特定异常

    """1.捕获指定异常,异常类型有多种2.若尝试执行的代码异常类型与捕获的异常类型不同则报错3.try下方一般只放一行代码,若有多行可能异常代码,则捕获一个异常类型后函数 ...

  2. mysql必知必会--了解SQL

    什么是数据库 数据库这个术语的用法很多,但就本书而言,数据库是一个以某种 有组织的方式存储的数据集合.理解数据库的一种最简单的办法是将其 想象为一个文件柜.此文件柜是一个存放数据的物理位置,不管数据是 ...

  3. HDU-1754 I Hate It (树状数组模板题——单点更新,区间查询最大值)

    题目链接 ac代码(注意字符读入前需要注意回车的影响) #include<iostream> #include<cstdio> #include<cstring> ...

  4. NIO学习笔记,从Linux IO演化模型到Netty—— 从BIO到epoll模型

    本文不涉及具体代码,只分析Linux IO演化的心路历程,学习资料来源网络,不保证一定正确,若有错误,欢迎指出. BIO 服务端创建socket(80端口),文件描述符3号. 当线程调用accept时 ...

  5. Linux-redis安装以及客户端搭建

    redis安装: 下载redis数据库,网址:redis官网 将文件放到home或者其他文件夹,cd到文件夹 执行 tar zxvf redis-4.0.2.tar.gz //解压文件 执行make进 ...

  6. 浅谈python的第三方库——numpy(二)

    前一期博文中,初步探索了numpy中矩阵的几种运算操作,本文将展示numpy矩阵的元素抽取与合并操作. 1 元素抽取 在我们使用矩阵的时候,有时需要提取出矩阵的某些位置上的元素单独研究,这时就需要熟悉 ...

  7. 从应用的角度去学习Python--为孩子下载课本

    最近,孩子上课都没有课本,老师给发的是一个微信链接,打开看可以,打印打不全.怎么办?我就想既然能看,从爬虫的角度就一定可以抓下来! 在Chrome中打开网址,好家伙!一堆的Script之类的玩意儿.经 ...

  8. LeetCode 144. 二叉树的前序遍历 (非递归)

    题目链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ 给定一个二叉树,返回它的 前序 遍历. /** * Defi ...

  9. 开发FTP服务接口,对外提供接口服务

    注意:本文只适合小文本文件的上传下载,因为post请求是有大小限制的.默认大小是2m,虽然具体数值可以调节,但不适合做大文件的传输 最近公司有这么个需求:以后所有的项目开发中需要使用ftp服务器的地方 ...

  10. 解决Mac无法写入U盘问题

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/upan-to- ...