个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
  • 活跃之星
成长雷达
0
33
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

发布时间 2020/09/14 09:00:05 最后回复 Mr.兜兜 2020/10/14 09:23:19 版块 社区活动
16055 233 0
他的回复:
华为云ID:hw17607419第一周笔记:一、数据类型 数据类型主要是整型、序列、字符串、列表、元组、字典、集合、变量 序列的切片操作[起始:终止:步长]步长默认是1,注意终止位置写NONE表示全部元素,全部默认表示全部元素步长是-1表示返回反序元素 序列功能函数生成迭代器enumerate()生成下标和值的元祖序列的长度;reversed()逆序的迭代器;zip可以构造一个字典进行使用。 字符串类型(不可变对象)用单引号;如果里面包括单引号就用双引号包括起来三重引号可以包括回车换行字符串也是序列对象,下标都是0开始;+可以链接字符串(不推荐、性能差);*重复显示字符串;"r", "R"表示原始字符串;"u", "U"表示Unicode操作符转换编码字符串是不可变的对象,不能修改字符串里面的元素max、min函数的使用就是比较ASCII码的大小 列表使用[]包括起来,元素之间使用,分隔、列表是可变的对象,可以切片赋值等操作列表的映射可使用map函数reduce函数需要导入才可以使用filter函数过滤是否存在的元素 元组Tuple不可变list,使用()括起来如果Tuple的元素是list,那么里面的list作为元素是list里面的可以修改的。Tuple可以和list进行互换 字典键值对使用{}括起来可以zip可以构造一个字典del可以删除元素;clear可以清空字典enumerate函数获取迭代器,使用next进行访问元素,处理最后的异常情况 变量字母或下划线开头,不需声明,可多重赋值 二、基本语句if的语句语法格式:if 条件1:    语句段1elif 条件2:    语句段2else:    语句段3 while的语法格式:while 条件 :     语句段#可以使用break退出while循环 for语句语法格式for 变量 in range(10):        循环需要执行的代码可以使用break退出for循环continue本次循环结束,开始下次循环 空语句pass为了保持程序结构的完整性,临时占位
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32609 468 0
他的回复:
ID: hw17607419第四章 jQuer与Ajax jQuery是一个轻量级的“写的少,做的多”的Javascript函数库jQuery是目前最流行的JS框架 "$"为jQuery的全局对象,代表jQuery使用$符号操作dom节点。使用操作节点时,必须先加载jQuery。 加载js的位置1. 为了效率,一般将js引用放入页面底部。2. 如果导入的jquery放在head的话:需要在JS脚本中增加以下处理方可执行到:$(document).ready(function(){ })简化为$(function(){ }) get方法和post方法 $.get(url, data, callback, type)/ $.post(url, data, callback, type) url:请求的接口地址。data:请求的参数。callback:请求成功时的回调函数。type:请求返回数据的格式。除了url外,其它三个参数可省。 注:请求参数的格式可以是json对象,也可以是字符串;返回的数据格式可以是:JSON、HTML、Script、XML、Text等;post请求发出去的时候请求参数是放在请求体中 ajax方法   $.ajax(option) option是JSON格式的配置参数,用于设置ajax请求。 url:发送请求的地址type:请求方式data:请求参数dataType:返回的数据类型 (json、html、xml 等)success:请求成功后的回调函数error:请求失败后的回调函数complete:请求完成后的回调函数 (不论成功与否都会执行) 布尔类型的配置:async:是否为异步请求cache:是否进行缓存 (主要针对get请求) 容易被忽视的配置项:timeout:请求超时时间 (毫秒) 第五章 Ajax实战Javascripts中的login.js中所的核心代码如下 var btn = document.getElementById('btn');var account = '';var pwd = ''; btn.onclick = function(){    account = document.getElementById('account').value;    pwd = document.getElementById('pwd').value;     ajax({        type: 'post',        url: '/login',        data: {            account: account,            pwd: pwd        },         // 回调函数        success: function (data) {            alert(data);        }    }) } function ajax(opt) {    var defaultParam = {        type: 'get',        url: '#',        data: {},        async: true,        // 回调函数        success: function () {}    }     // 用户传进来的参数覆盖默认参数    for (var key in opt) {        defaultParam[key] = opt[key];    }    var xhr = null;    if(window.XMLHttpRequest) {        xhr = new XMLHttpRequest();    }else {        xhr = new ActiveXObject('Microsoft.XMLHTTP');    }     // 把用户传进来的data对象转变为字符串才能处理    var paramStr = '';    for (var k in defaultParam.data) {        paramStr += k + '=' + defaultParam.data[k] + '&';    }    paramStr = paramStr.substr(0, paramStr.length-1);    console.log(paramStr);        if(defaultParam.type == 'get') {         // get请求时的open方法        xhr.open(defaultParam.type, defaultParam.url + '?' + paramStr, defaultParam.async);        xhr.send();    }else{        // post请求时的open方法        xhr.open(defaultParam.type, defaultParam.url, defaultParam.async);        xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');        xhr.send(paramStr);    }    xhr.onreadystatechange = function () {        if(xhr.readyState == 4) {            if(xhr.status ==200){                defaultParam.success(xhr.responseText);            }        }    } }
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32609 468 0
他的回复:
第一章AJAX定义Asynchronous JavaScript And XML,异步的JavaScript和XMLAJAX的优势大幅提升用户体验能够减轻服务器的压力异步加载局部更新第二节 网络通信设计思想:分层TCP/IP传输控制协议/网际协议物理层 >集线器(负责光电信号传递)数据链路层 > 交换机(负责设备之间的数据帧的传输和识别)网络层 > 路由器(负责地址管理和路由选择)传输层 > TCP&UDP(负责两台主机之间的数据传输)应用层 > 网络编程(负责应用程序之间的沟通)每一层都呼叫它的下一层提供的网络来完成自己的需求网络接口层:物理层+链路层http协议特点(三次握手)1.无状态协议2.不会建立持久连接第二章Node.js定义简单的说,Node.js 就是运行在服务端的JavaScript,是一个基于Chrome V8引擎的JavaScript是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎V8引擎执行Javascript的速度非常快,性能非常好作为Node.js的下一代Web框架,Koa代码量非常之少 检测是否安装成功可以打卡终端,运行命令node -v,查看安装版本NPM是同NodeJS一起安装的包管理工具,能解决NodeJS代码部署问题:1. 允许用户从NPM服务器下载别人编写的第三方包到本地使用。2. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。3. 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。Koa 应用程序是一个包含一组中间件函数的对象,它是按照类似堆栈的方式组织和执行的。Koa脚手架安装koa-generator打开命令行,输入以下代码(连接vpn的情况下):npm install koa-generator -g (-g 为全局安装)如果没有连接vpn,会显示安装失败,那么需要先安装镜像模式:安装cnpm,输入以下命令:npm install -g cnpm --registry=https://registry.npm.taobao.org然后输入:cnpm install koa-generator -g搭建web服务器1. 在需创建项目的目录处输入koa2 ajax2. 输入cd ajax3. 输入npm install(如果没有vpn就输入cnpm install)4. 输入npm start启动项目5. 在浏览器中输入localhost: 3000验证,会出现如下文字Ajax根文件夹概览bin/www //整个项目的启动入口,Web服务配置node_modules // 存放项目依赖的Node.js包(通过npm install安装)public // 存放静态资源,相当于静态的服务器目录routes //路由的目录和文件views //视图,里面放的是相关的页面,里面用的是pug模板引擎app.js //整个项目的入口文件package.json //项目相关配置,非常重要,新接触的项目首先要分析此文件第三章同步和异步同步:synchronous 简称sync异步:asynchronous 简称 asyncXHR定义XMLHttpRequest三个常用方法:open(method,url,async) :初始化send(param):发送setRequestHeader Content-type属性:onreadystatechangereadyStateStatus: 代表请求的状态码,200代表请求成功地返回了Response TextXMLHttpRequest的使用(四步)1、创建XMLHttpReuestvar xhr = new XMLHttpRequest();2、使用open方法,初始化请求参数//请求的方法,常用的主要是get和post;接口的地址;表明请求是同步还是异步,true为异步xhr.open("get", "/ajax", true) 3、使用send方法,发送请求//发送具体的请求,如果是post方法,请求放在send里,如果是get方法,请求放在xhr.open的接口地址位置xhr.send() 4、使用onreadystatechange属性,接收返回数据//当readystate发生变化时,就会触发function,执行里面的函数xhr.onreadystatechange = function(){    xxxxx}四步发送ajax请求open(method,url,async)setRequestHeader(“Content-type”)send(param)readyState:4Status:200Node.js(服务端)接收请求返回数据同源策略浏览器的安全策略协议名+主机名+端口号跨域请求方法通过jsonp跨域通过document.domain+iframe来跨子域(只有在主域相同的时候才能使用该方法)使用window.name+iframe来进行跨域使用window.postMessage方法来跨域(不常用)使用跨域资源共享(CORS)来跨域天然可以跨域的标签:script(img、link)
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32609 468 0
他的回复:
ID: hw17607419内置对象内置对象是指 JS 语言自带的,提供一些常用的或是最基本而必要的功能,能够帮助开发者快速进行开发。 Math 数学对象Math 数学对象,不是一个构造函数,所以不需要使用new来调用,而是直接使用里面的属性和方法即可:console.log(Math.PI); // 输出一个属性,圆周率 Math 最大值方法Math 最大值使用Math.max()方法,使用案例:console.log(Math.max(2, 13, 99)); // 输出其中最大值99Math.max()中如果有无法转换为数字的数据则会输出NaN,如果括号中没有数据则会输出-Infinity。 Math 对象的求绝对值方法Math.abs()绝对值:console.log(Math.abs(-2)); //输出2 Math 对象的三个取整方法Math.round()四舍五入:console.log(Math.round(3.5)); // 输出4console.log(Math.round(-3.5)); // 输出-3 Math.floor()向下取整:console.log(Math.floor(3.7)); // 输出3console.log(Math.floor(-3.1)); // 输出-4 Math.ceil()向上取整:console.log(Math.ceil(3.1)); //输出4console.log(Math.ceil(-3.8)); //输出-4 随机值方法Math.random(),返回左闭右开[0, 1)的一个随机的浮点数,这个方法无需参数。 获取两个整数之间并包括这两个整数的随机数公式:Math.random() * (max - min +1) + min;如果不包括最大值就是Math.random() * (max - min) + min。 Date 日期对象是构造函数,只能通过使用new来调用创建我们的日期对象var date = new Date();console.log(date);若无参数,则返回系统的当前时间 参数写法:数字型:2020,07,24 或者字符串型 ‘2020-07-24 11:18:18’数字型的返回,会比实际大一月 返回当前时间返回当前日期的年份使用Date对象的getFullYear()方法:var date = new Date();console.log(date.getFullYear()); 返回月份使用getMonth(),但是返回当前月份还需要再加1:var date = new Date();console.log(date.getMonth() + 1); 返回当前日期星期几getDay(),星期日返回的是0,其余星期几对应相应的数字几:var date = new Date();console.log(date.getDay()); 返回当前的小时getHours(),返回当前时间的分getMinutes(),返回当前时间的秒getSeconds:var date = new Date();console.log(date.getHours());// 时console.log(date.getMinutes()); // 分console.log(date.getSeconds()); // 秒 获取日期总的毫秒数获取当前时间总的毫秒数data.valueOf()或date.getTime(),返回的时间是距离1970年1月1号的毫秒数:var date = new Date();console.log(data.valueOf());console.log(data.getTime());var date1 = +new Date();+new Date() //返回的就是总的毫秒数console.log(data.now()); 数组对象 Array字面量创建数组 v.s. 数组对象Array创建数组var arr = new Array(); // 创建空的数组var arr1 = new Array(2); // 创建一个长度为2的空数组var arr2 = new Array(2, 3); // 等价于创建一个值为[2, 3]的数组 检测是否为数组的两种方式instanceof运算符:var arr = [];console.log(arr instanceof Array); // 输出 true Array.isArray():console.log(Array.isArray([0, 1, 2])); 数组添加数据的方式数组后新增数据push():var arr = [1,2];arr.push("hello", 2); //可以添加多个数据,arr==[1, 2, "hello", 2]; 原数组发生了变化 数组前添加数据unshift():var arr = [1,2];arr.unshift(3); // arr==[3, 1, 2]; 原数组也发生了变化 删除数组中的数据pop()会删除一个数组中最后面的数据:var arr = [1,2,3];arr.pop(); // arr==[1, 2] shift()则删除数组中第一个数据:var arr = [1, 2, 3];arr.shift(); // arr==[2, 3]; 翻转数组与数组排序翻转数组reverse():var arr = [1, 2, 3];arr.reverse(); // arr== [3,2,1] 数组排序sort():var arr = [1,15,6,68,9];arr.sort(function(a,b){return a – b;//升序的顺序排列,b - a降序 }); console.log(arr1);获取数组元素索引返回一个元素在数组中的索引位置indexOf(),如果找不到该元素则返回-1,这个方法从前向后查找。lastIndexOf()从数组后面往前进行查找。 数组转换为字符串1. var arr = [1,2,3];console.log(arr.toString());2. var arr1 = [‘green’,‘blue’,‘red’];console.log(arr.join());//默认逗号分隔console.log(arr.join(‘-’)); 基本包装类型JavaScript 提供了三个特殊的引用类型:Number、 Boolean、 String,它们是基本包装类型。对于简单数据类型是不具有属性和方法的,因为只有对象才具有属性和方法,但是基本包装类型是具有属性和方法的,比如 String 类型可以使用length方法获得字符串长度。 字符串不可变指的是里面的值不可变,虽然看上去可以改变内容,但其实是内存中新开辟了一个内存空间,并且原有的值也不会及时回收,这样会造成内存空间上的浪费,所以不要大量拼接字符串 根据字符返回位置indexOf(),如果查找到了,就返回第一次查找到的索引,这个方法有第二个参数,第二个参数控制该方法从指定索引值(查找的位置包含该索引)开始进行查找。如果没有查找到,则返回-1:str.indexOf(‘要查找的字符’,[起始位置])var str = ‘改革春风吹满地’;console.log(str.indexOf(‘春’)); 根据索引返回字符1. charAt(index): //根据指定的索引index返回这个索引位置上的字符var str = ‘andy’;console.log(charAt(3));for (var i = 0; i str.length; i++){console.log(str.charAt(i));} 2. charCodeAt(index) //返回相应索引号的字符ASCII值,目的:判断用户按下哪个键console.log(str.charCodeAt(0));//97 3.str[index]//H5新增, 返回指定索引位置上的字符console.log(str[0]); 字符串操作方法拼接字符串concat(str1, str2, st3...):var str="color";console.log(str.concat("red"));// 输出colorred; 截取字符串substr(start, length),从 start 索引号开始截取(包含 start 索引),截取 length 长度的字符:var str="aabbcc";console.log(str.substr(0, 3)); // 输出 aab 截取字符串slice(start, end),从 start 索引位置开始截取,截取到 end (不包括 end 索引), 截取字符串substring(start, end),与slice相同,但是不允许接受负值。 替换字符与将字符串转换为数组替换字符replace(),只能替换第一个被查找到的字符:var a="aabbcc";console.log(a.replace('a','b'));// 输出 babbcc 将字符串转换为数组split(),需指定字符分割字符串:var a="a b c";console.log(a.split(" ")); // 输出 ["a", "b", "c"] 数据类型分配简单数据类型被称为值类型,复杂类型也被称为引用类型。 简单数据类型包含 number、 string、 boolean、 undefined、 null 等,它包含的是值的本身。引用类型包含Date()、Array、Object等,它在存储变量时仅仅存储的是地址,需要通过new关键字进行创建。null返回的是一个空对象object引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用) 简单数据类型的值存储在栈中复杂数据类型的值存储在堆中复杂数据类型会首先把地址存放在栈里,该地址指向堆中存放的值。
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32609 468 0
他的回复:
ID: hw17607419第一章笔记 JS定义通过JavaScript引擎(解释器)边逐行解释代码边执行的脚本语言 JS最初目的表单动态校验 JS的组成ECMAScript,DOM,BOM JS书写位置行内式,内嵌式,外部式 JS注释方式单行注释,多行注释 JS的输入输出语句console.log(),alert(),prompt() 变量定义程序在内存中申请的一块用来存放数据的空间 变量的初始化声明并赋值 声明变量:var创建变量就是在内存中的栈区开辟新的空间 变量命名规范1.由字母、数字、下划线、$符号组成,不能以数字开头2.避免关键字和保留字3.区分大小写4.变量名必须有意义5.遵守驼峰命名法 变量语法扩展1.更新变量变量值将以最后一次赋的值为准2.同时声明多个变量只需要写一个var,多个变量名用英文逗号隔开,;号结束3.声明变量特殊情况只声明不赋值,变量为undefined状态4.不声明,直接赋值不建议这样使用(会变成全局变量) 强类型定义语言变量一旦被指定了某个数据类型,一般不会变,除非强制转换。强类型定义语言是类型安全的语言。 弱类型定义语言变量可赋不同数据类型的值 优缺点强类型定义语言在速度上可能略逊色于弱类型定义语言,但强类型定义语言带来的严谨性能避免错误。  变量小结1.为什么需要变量?有一些数据需要保存,所以需要变量2.变量是什么?变量好比一个容器,其实是内存里的一块空间,用来存储数据的3.声明变量本质?去内存申请空间4.交换2个变量值的思路?利用临时变量保存数据 为什么需要数据类型?不同的数据所需占用的存储空间是不同的,为充分利用存储空间,定义了不同的数据类型 变量的数据类型变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中  数据类型的分类   简单数据类型Number 数字型,包含整型值和浮点型值String 字符串类型,字符串带引号Boolean 布尔值类型,如true、false,等价于1和0  默认值flaseUndefined 声明了变量但没有给值Null 声明了变量a 为空值object 复杂数据类型 数字型的范围JS中数值的最大和最小值alert(Number.MAX_VALUE);alert(Number.MIN_VALUE);数字型三个特殊值Infinity 代表无穷大,大于任何数值-Infinity 代表无穷小,小于任何数值NaN Not a number,代表一个非数值isNaNisNaN()用来判断一个变量是否为非数字的类型String字符串型字符串型可以是引号中的任意文本,其语法为双引号“”和单引号‘’,建议使用单引号‘’字符串引号嵌套JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)字符串转义符 \n 换行符,n是newline的意思\\ 斜杠\\' ‘单引号\" “双引号\t tab缩进\b 空格,b是blank的意思字符串长度通过字符串的length属性可以获取整个字符串的长度字符串拼接字符串+任何类型=拼接之后的新字符串口诀:数值相加,字符相连变量和字符串相连的口诀:引引加加获取变量数据类型typeof可以用来获取检测变量的数据类型字面量 浏览器控制台中会对输出的变量标记不同的颜色,通过浏览器可以大致判断变量的类型字面量是源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值数据类型转换什么是数据类型转换使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型转换为字符串类型(3种方法)toString()函数  转成字符串  var num=1;alert(num.toString());String()强制转换函数 转成字符串  var num = 1;alert(String(num));加号拼接字符串  这种方式也称为隐式转换。  var num =1;alert(num + '我是字符串');转换为数字型(4种方法)parselnt(string)函数  将string类型转成整数数值型  parselnt('78');parseFloat(string)函数  将string类型转成浮点数数值型  parseFloat('78.21');Number()强制转换函数  将string类型转换为数值型  Number('12');js 隐式转换(- * /)   利用算术运算隐式转换为数值型 '12' - 0注意:parseInt()和parseFloat()这两个函数单词的大小写,这2个是最常用的转换为布尔型Boolean()函数 其他类型转成布尔值  Boolean('true');代表空、否定的值会被转换为flase,如''、0、NaN、null、undefined其余值都会被转换为true拓展阅读-编译和解释语言翻译器翻译的方式有两种:一种是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同编译器是在代码执行之前进行编译,生成中间代码文件解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)拓展阅读-标识符、关键字、保留字标识符标识(zhi)符:就是指开发人员为变量、属性、函数、参数取的名字标识符不能是关键字或保留字关键字关键字:是js本身已经使用了的字,不能再用它们充当变量名、方法名包括:break、case、default、return、this、try、var、with......等保留字:实际上就是预留"关键字",意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32609 468 0
他的回复:
ID: hw17607419第一章笔记 JS定义通过JavaScript引擎(解释器)边逐行解释代码边执行的脚本语言 JS最初目的表单动态校验 JS的组成ECMAScript,DOM,BOM JS书写位置行内式,内嵌式,外部式 JS注释方式单行注释,多行注释 JS的输入输出语句console.log(),alert(),prompt() 变量定义程序在内存中申请的一块用来存放数据的空间 变量的初始化声明并赋值 声明变量:var创建变量就是在内存中的栈区开辟新的空间 变量命名规范1.由字母、数字、下划线、$符号组成,不能以数字开头2.避免关键字和保留字3.区分大小写4.变量名必须有意义5.遵守驼峰命名法 变量语法扩展1.更新变量变量值将以最后一次赋的值为准2.同时声明多个变量只需要写一个var,多个变量名用英文逗号隔开,;号结束3.声明变量特殊情况只声明不赋值,变量为undefined状态4.不声明,直接赋值不建议这样使用(会变成全局变量) 强类型定义语言变量一旦被指定了某个数据类型,一般不会变,除非强制转换。强类型定义语言是类型安全的语言。 弱类型定义语言变量可赋不同数据类型的值 优缺点强类型定义语言在速度上可能略逊色于弱类型定义语言,但强类型定义语言带来的严谨性能避免错误。  变量小结1.为什么需要变量?有一些数据需要保存,所以需要变量2.变量是什么?变量好比一个容器,其实是内存里的一块空间,用来存储数据的3.声明变量本质?去内存申请空间4.交换2个变量值的思路?利用临时变量保存数据 为什么需要数据类型?不同的数据所需占用的存储空间是不同的,为充分利用存储空间,定义了不同的数据类型 变量的数据类型变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中  数据类型的分类   简单数据类型Number 数字型,包含整型值和浮点型值String 字符串类型,字符串带引号Boolean 布尔值类型,如true、false,等价于1和0  默认值flaseUndefined 声明了变量但没有给值Null 声明了变量a 为空值object 复杂数据类型 数字型的范围JS中数值的最大和最小值alert(Number.MAX_VALUE);alert(Number.MIN_VALUE);数字型三个特殊值Infinity 代表无穷大,大于任何数值-Infinity 代表无穷小,小于任何数值NaN Not a number,代表一个非数值isNaNisNaN()用来判断一个变量是否为非数字的类型String字符串型字符串型可以是引号中的任意文本,其语法为双引号“”和单引号‘’,建议使用单引号‘’字符串引号嵌套JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)字符串转义符 \n 换行符,n是newline的意思\\ 斜杠\\' ‘单引号\" “双引号\t tab缩进\b 空格,b是blank的意思字符串长度通过字符串的length属性可以获取整个字符串的长度字符串拼接字符串+任何类型=拼接之后的新字符串口诀:数值相加,字符相连变量和字符串相连的口诀:引引加加获取变量数据类型typeof可以用来获取检测变量的数据类型字面量 浏览器控制台中会对输出的变量标记不同的颜色,通过浏览器可以大致判断变量的类型字面量是源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值数据类型转换什么是数据类型转换使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型转换为字符串类型(3种方法)toString()函数  转成字符串  var num=1;alert(num.toString());String()强制转换函数 转成字符串  var num = 1;alert(String(num));加号拼接字符串  这种方式也称为隐式转换。  var num =1;alert(num + '我是字符串');转换为数字型(4种方法)parselnt(string)函数  将string类型转成整数数值型  parselnt('78');parseFloat(string)函数  将string类型转成浮点数数值型  parseFloat('78.21');Number()强制转换函数  将string类型转换为数值型  Number('12');js 隐式转换(- * /)   利用算术运算隐式转换为数值型 '12' - 0注意:parseInt()和parseFloat()这两个函数单词的大小写,这2个是最常用的转换为布尔型Boolean()函数 其他类型转成布尔值  Boolean('true');代表空、否定的值会被转换为flase,如''、0、NaN、null、undefined其余值都会被转换为true拓展阅读-编译和解释语言翻译器翻译的方式有两种:一种是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同编译器是在代码执行之前进行编译,生成中间代码文件解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)拓展阅读-标识符、关键字、保留字标识符标识(zhi)符:就是指开发人员为变量、属性、函数、参数取的名字标识符不能是关键字或保留字关键字关键字:是js本身已经使用了的字,不能再用它们充当变量名、方法名包括:break、case、default、return、this、try、var、with......等保留字:实际上就是预留"关键字",意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。
发布时间 2020/07/13 10:25:31 最后回复 blateyang 2020/08/20 23:20:02 版块 社区活动
32609 468 0
他的回复:
ID: hw17607419第一章笔记 JS定义通过JavaScript引擎(解释器)边逐行解释代码边执行的脚本语言 JS最初目的表单动态校验 JS的组成ECMAScript,DOM,BOM JS书写位置行内式,内嵌式,外部式 JS注释方式单行注释,多行注释 JS的输入输出语句console.log(),alert(),prompt() 变量定义程序在内存中申请的一块用来存放数据的空间 变量的初始化声明并赋值 声明变量:var创建变量就是在内存中的栈区开辟新的空间 变量命名规范1.由字母、数字、下划线、$符号组成,不能以数字开头2.避免关键字和保留字3.区分大小写4.变量名必须有意义5.遵守驼峰命名法 变量语法扩展1.更新变量变量值将以最后一次赋的值为准2.同时声明多个变量只需要写一个var,多个变量名用英文逗号隔开,;号结束3.声明变量特殊情况只声明不赋值,变量为undefined状态4.不声明,直接赋值不建议这样使用(会变成全局变量) 强类型定义语言变量一旦被指定了某个数据类型,一般不会变,除非强制转换。强类型定义语言是类型安全的语言。 弱类型定义语言变量可赋不同数据类型的值 优缺点强类型定义语言在速度上可能略逊色于弱类型定义语言,但强类型定义语言带来的严谨性能避免错误。  变量小结1.为什么需要变量?有一些数据需要保存,所以需要变量2.变量是什么?变量好比一个容器,其实是内存里的一块空间,用来存储数据的3.声明变量本质?去内存申请空间4.交换2个变量值的思路?利用临时变量保存数据 为什么需要数据类型?不同的数据所需占用的存储空间是不同的,为充分利用存储空间,定义了不同的数据类型 变量的数据类型变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中  数据类型的分类   简单数据类型Number 数字型,包含整型值和浮点型值String 字符串类型,字符串带引号Boolean 布尔值类型,如true、false,等价于1和0  默认值flaseUndefined 声明了变量但没有给值Null 声明了变量a 为空值object 复杂数据类型 数字型的范围JS中数值的最大和最小值alert(Number.MAX_VALUE);alert(Number.MIN_VALUE);数字型三个特殊值Infinity 代表无穷大,大于任何数值-Infinity 代表无穷小,小于任何数值NaN Not a number,代表一个非数值isNaNisNaN()用来判断一个变量是否为非数字的类型String字符串型字符串型可以是引号中的任意文本,其语法为双引号“”和单引号‘’,建议使用单引号‘’字符串引号嵌套JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)字符串转义符 \n 换行符,n是newline的意思\\ 斜杠\\' ‘单引号\" “双引号\t tab缩进\b 空格,b是blank的意思字符串长度通过字符串的length属性可以获取整个字符串的长度字符串拼接字符串+任何类型=拼接之后的新字符串口诀:数值相加,字符相连变量和字符串相连的口诀:引引加加获取变量数据类型typeof可以用来获取检测变量的数据类型字面量 浏览器控制台中会对输出的变量标记不同的颜色,通过浏览器可以大致判断变量的类型字面量是源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值数据类型转换什么是数据类型转换使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型转换为字符串类型(3种方法)toString()函数  转成字符串  var num=1;alert(num.toString());String()强制转换函数 转成字符串  var num = 1;alert(String(num));加号拼接字符串  这种方式也称为隐式转换。  var num =1;alert(num + '我是字符串');转换为数字型(4种方法)parselnt(string)函数  将string类型转成整数数值型  parselnt('78');parseFloat(string)函数  将string类型转成浮点数数值型  parseFloat('78.21');Number()强制转换函数  将string类型转换为数值型  Number('12');js 隐式转换(- * /)   利用算术运算隐式转换为数值型 '12' - 0注意:parseInt()和parseFloat()这两个函数单词的大小写,这2个是最常用的转换为布尔型Boolean()函数 其他类型转成布尔值  Boolean('true');代表空、否定的值会被转换为flase,如''、0、NaN、null、undefined其余值都会被转换为true拓展阅读-编译和解释语言翻译器翻译的方式有两种:一种是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同编译器是在代码执行之前进行编译,生成中间代码文件解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)拓展阅读-标识符、关键字、保留字标识符标识(zhi)符:就是指开发人员为变量、属性、函数、参数取的名字标识符不能是关键字或保留字关键字关键字:是js本身已经使用了的字,不能再用它们充当变量名、方法名包括:break、case、default、return、this、try、var、with......等保留字:实际上就是预留"关键字",意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。
发布时间 2020/06/05 11:45:07 最后回复 @Wu 2020/07/05 23:55:07 版块 社区活动
55706 487 2
他的回复:
hw17607419第五章浮动是指将元素脱离文档流向左或者向右布局使用float属性来设置元素的浮动默认值为none,也就是不浮动还可设置为left,表示想左浮动;或设置为right,表示向右浮动浮动的特点一旦设置浮动,该元素就会被当成块级元素,就会脱离标准文档流,造成父元素塌陷不为块级父元素设置高度时,它的高度将由子元素内容决定,但是在子元素脱离正常文档流后,意味着父元素的高度无法由子元素决定。float属性可指定某元素应沿其容器元素的左侧或右侧放置,但会被容器元素中的文本内容感应到并予以避让,所以这种特性常用于图文混排。清除浮动1. 设置父元素高度(限制自适应布局,不可取)2. 使用clear属性:给父元素添加清除浮动的div元素,放在所有子元素后面3. 父元素设置 overflow:hidden4. clearfix方案(企业级应用中清除浮动的方法)给父元素添加伪元素after对这个添加的伪元素应用清除浮动的样式必备三大样式:contet,clear,display可选三大样式:heigh,font-size,visiblity可选样式是为了保证在实际开发中各浏览器的兼容性.clearfix: after{/*必备三大样式*/content: "";clear: both;display: block;/*可选三大样式, 强化其不可见*/height: 0px;font-size: 0px;visibility: hidden /*不可见但占空间*/}visibility可以隐藏元素但仍然保持元素的所占的位置,display:none也可以隐藏元素但元素不占位置clear属性原理: 清除的元素有一个必要的条件就是这个元素它的宽度一定要和父元素保持一致,只有块元素它的宽度才能自动的和父元素保持一致,所以clear属性只能应用在块级元素上,对span或inline-block均不起作用,设置display: block除外作用:清除元素哪一侧浮动默认值为none,不做清除当设置为left时,清除左侧浮动当设置为right时,清除右侧浮动 当设置为both时,清除两侧浮动overflow属性作用:设置元素不够容纳内容是的显示方式默认值为visible当值为auto时,自动添加滚动条当值为sroll时,会一直显示滚动条当值为hidden时,会用隐藏超出的部分(可清除浮动)实现一个左中右三列布局:左右两侧宽度固定中间内容区宽度能够自适应解决方案:双_飞翼布局第一步:使用float书信让左中右三列浮动第二步:使用负margin属性让左右两列与中间列处于同一水平线上第三步:在中间列中增加一个div内容元素,设置margin值为左右两列的宽度第四步:清除浮动,让父元素高度正常显示优点中间内容列宽度自适应中间内容区域先加载使用浮动布局巧妙使用负margin属性保持三列水平方法简单直接浏览器兼容性好代码:     飞翼布局      .container {      border: 1px solid #000000;      width: 800px;      margin: 10px auto; /*居中显示*/      overflow: hidden; /*清除浮动*/    }    .center {      float: left;   /*向左浮动*/      background: yellow;      width: 100%;  /*占满一行*/    }    .left {      float: left;      background: green;      width: 200px;      margin-left: -100%; /*上移至同一水平线*/    }    .right {        float: left;        background: pink;        width: 200px;        margin-left: -200px; /*因右自身200px,负margin移至同一水平线 */    }    .content {      margin: 0px 300px;    }               华为云      left   right 第六章定位属性作用:设置元素在页面中的位置,使用 position 属性来表示定位属性值: static 、 relative(相对布局) 、 absolute(绝对布局) 、fixed (固定布局),默认值为 static ,表示标准流布局 定位位置在使用定位属性定位元素位置的时候,可以指定上下左右四个属性来控制元素的位置top 用于设置元素定位时距离上部的偏移距离; bottom 用于设置元素定位时距离下部偏移距离 , Ieft 用于设置元素定位时距离左侧的偏移距离 , right 用于设置元素定位时距离右侧的偏移距离,需要注意的是,偏移量可以为负值层级可以使用属性 z-index 设置定位元素的层级,值越大,显示时越是覆盖在其它元素的上边 z-index 属性默认值为 auto ,代表层级与父元素相同 , 该属性只在position 值为 absolute 时有效固定定位固定布局fixed,元素固定在某一位置,不随界面滚动而滚动。相对定位 定义:元素相对于标准文档流中的默认位置来进行定位的当 position 属性值设置为 relative 时,开启相对定位模式。相对定位是相对自己原来的位置进行移动,原位置保留,margin 将作用在原位置上相对定位并不会让元素脱离标(准流),仅设置position: relative 没效果相对定位不会影响到周围其它元素的排布实际使用时相对定位一般都是和位置属性一起使用绝对定位相对于除 static 定位之外的第一个父元素进行定位,如果没有就相对于页面定位把 position 属性的值设置为 absolute 时,开启了绝对定位模式,被设置为绝对定位的元素会脱离标准流,悬浮在页面之上,宽度也变成所含内容的宽度当多个绝对定位元素出现相互遮盖的情况时,可以使用 z-index 属性设置层级 绝对定位和相对定位搭配使用当我们想要让子元素相对于父元素进行绝对定位时,可以在父元素上使用相对定位:1)绝对定位的盒子,不能以任何方式用margin 影响别的盒子2)父盒子的padding 不会影响绝对定位的子盒子