笔记总结

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->
<!--[if IE]> 所有的IE可识别 <![endif]-->
<!--[if IE 6]> 仅IE6可识别 <![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->
<!—[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]→

Lt 小于运算符

lte 小于或等于运算

注释必须要多写! 1.方便后台看 2.方便自己查错和优化

为何用hbuilder运行的ajax用post请求json无效,而wamp运行的post,get方式都可以访问json?

$.trim(str)  删除字符串开始和末尾的空格

事先先沟通约定好,比如交互的数据格式需求是怎么样的啊,功能模块的逻辑是怎么样的等等。提前先和产品还有后台沟通好。

可以预先先沟通要交互的数据格式和字段写成文档,就算后期要调整工作量也没那么大。
 
<a href="javascipt:;"> 最佳
 
 
属性选择器	[disabled]
 
  Localhost 即 127.0.0.1
 
 
 
$("p").after(function(n){
			return "<div>上面的P元素下标是 " + n + "。</div>";
		});
 $("p").after("<p>Hello world!</p>");
 
 
  /* object2 合并到 object1 中 */
$.extend(object1, object2);
 
 
 
document.querySelectorAll
 
git commit操作的是本地库,git push操作的是远程库。
git commit是将本地修改过的文件提交到本地库中。
git push是将本地库中的最新信息发送给远程库。

要绑定数据 用{{data}} 而非ng-model=‘data‘, 因为ng-model 只能双向绑定用于表单元素

JSON内不能包含注释。 如果(某个)属性需要引号,则必须使用双引号。所有的属性名必须在双引号内。字符类型的属性值必须使用双引号。其它类型值(如布尔或数字)不应该使用双引号

是:first-child没有::first-child

Json 易出错,且不会报错,故有bug要重点检查json

$scope.$apply()会自动地调用$rootScope.$digest()。

在$digest循环中,watchers会被触发。当一个watcher被触发时,AngularJS会检测scope模型。  $scope.$apply()必须放在需要执行代码的后面

Google在大多数时候,对于软件开发来说,都是更好的搜索引擎,所以,哪怕你费尽千辛万苦,也一定要用Google来搜索想要寻找的项目、文档和资料,必须的!

同步不响应的时候,加一个$scope.$apply()即可!

eval(‘(‘ + jsonstr + ‘)‘); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号

ajax可直接访问json,方法如下:

代码不运行,很可能是受其他代码影响,通常改成异步抓取,然后加一个闭包就可以了!

异步抓取在这里即setTimeout定时器

看一段糟糕的代码:

setTimeout(function() {

while (true) {

}

}, 100);

setTimeout(function() {

alert(‘你好!‘);

}, 200);

setTimeout是异步,那么,不管前面的代码怎么样,他条件满足了就会执行,但上面的代码,由于任务队列里有一个死循环,而后面的弹出代码在队列的后面,循环不息,所以后面的永远不会被执行到。

浏览器是基于一个事件循环的模型,在这里面,可以有多个任务队列,比如render是一个队列,响应用户输入是一个,script执行是一个。任务队列里放的是任务,同一个任务来源的任务肯定在同一个任务队列里。

任务有优先级,鼠标或键盘响应事件优先级高,大概是其他任务的3倍。

任务的执行过程中可能产生:

spin:不影响Event Loop并延后执行

pause:停止Event Loop并延后执行

spin,如setTimeout的异步方式,就是spin方式,当执行到setTimeout时,此任务先暂停并保存,继续执行后续任务,当条件满足时,再将setTimeout的执行任务放回任务队列的后面,等待执行,假如前面有一个2s的任务,那原本是delay 1s的任务实际执行时会是在第3s的时候才执行。

pause,则是当在js中获取元素的offsetWidth等需要更新dom操作的动作时发生的。当执行到此任务时,将停止事件循环的工作,也就是先停止js引擎解析执行,跳到渲染引擎更新用户界面至当前状态,这期间,不处理后续任务,当前执行的脚本暂停,界面保持响应,但无法处理输入(事件循环停了),直到成功返回才继续执行任务。

遇到需求:

  1. 需求细化分解
  2. 逐个分析
  3. 将问题转化为代码,找关键点

imgbox.style.transform = "translateX(-"+boxwidth * index+"px)" /*变量都要加"++",而且必须是双引号!!*/


element.scrollHeight


返回整个元素的高度(包括带滚动条的隐蔽的地方)


element.scrollLeft


返回当前视图中的实际元素的左边缘和左边缘之间的距离


element.scrollTop


返回当前视图中的实际元素的顶部边缘和顶部边缘之间的距离

1."+boxwidth * index+"必须都放在"++"内部! 2.必须加px!*/

searchbox.style.backgroundColor = ‘rgba(255,0,0,‘+opacity+‘)‘

/*为什么这里必须统一?内双外也双,内单引号,外也得单引号!!*/


element.offsetWidth


返回元素的宽度,包括边框和填充,但不是边距


element.offsetLeft


返回当前元素的相对水平偏移位置的偏移容器


element.offsetParent


返回元素的偏移容器

Min-width, max-width

Min-length, max-length

ngChange 和$scope.$watch的区别,ngChange 仅仅监控munally change NOT programmatically. 但是$scope.$watch都会监控。

$scope.$watch(‘username‘, function(now, old) {

// console.log(`${now}--${old}`);

if (!/^\w[\w_\d]{5,15}$/.test(now)) {

$scope.error_message = (‘用户名违规‘);

return;

}

$scope.error_message = ‘‘;

});

});

将 "时间戳" 转换为 "年月日" 的格式.

比如如下代码:

var da = 1402233166999;
    da = new Date(da);

解决因为压缩代码造成注入对象失败问题的方式就是将第二个参数换成一个数组

.controller(‘DemoController‘, [‘$scope‘, ‘$log‘, function($scope, $log) {

$scope.value = new Date();

$scope.do = function() {

$log.warn($scope.value);

};

}]);

即等同于:

angular.module("myapp",[]).controller("DemoController",["$scope","$log",function(a,b){a.value=new Date();a.do1=function(){b.warn(a.value)}}]);

用a代表$scope,  b代表$log

AngularJS 应用在加载时,文档可能会由于AngularJS 代码未加载完而出现显示 AngularJS 代码,进而会有闪烁的效果, ng-cloak 指令是为了防止该问题的发生。

调用js函数的方式:

<div><a href="javascript:close();">×</a></div>

 

移动端宽度千万不要用px,除非以下必要情况:

1.是固定像素的,比如两边固定宽度,中间自适应宽度

2.缩放图片(img,background)等

高度能不给死就不给死,高度可以用px

 

 

两端固定像素,中间自适应原理

两端脱标,中间100%宽,用padding或者margin(用margin时宽度和margin都要用百分比表示)留出两边空间,然后两边定位,或者浮动上去。

 

移动端web是以百分比布局为主的  定最小宽度和最大宽度为辅的布局。

换句话说:就是所有元素有宽的都是百分比设宽度,没有的都是设置 min-width和max-width来达到自适应的目的

 

 

rem」是指根元素(root elementhtml)的字体大小,好开心的是,从遥远的 IE6 到版本帝 Chrome 他们都约好了,根元素默认的 font-size 都是 16px

window.open(‘20 文员修改后页面.html‘)

 

 

label中不能放a,button标签,否则a,button点击无效

textarea标签内不要留空格,不然内部光标不会定位在最左上角

要跳转就要用form标签包起来

按钮默认会跳转,设置type=‘button‘ 后点击才不会跳转

如果按钮不跳转,很可能也是type设置的问题

所有表单元素都要有name属性,相当于绑定了该元素和相关内容

6.8

@media mediatype and|not|only (media feature) {
    CSS-Code;s
}

你也可以针对不同的媒体使用不同 stylesheets :

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

响应式设计学习

6.7

以下命令行都适用于git bash其他的暂未尝试!!

--help

用法 :

git --help

--version

cd d:job/wechat

远程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令。

$ git clone <版本库的网址>

比如,克隆jQuery的版本库。

$ git clone https://github.com/jquery/jquery.git

该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone命令的第二个参数。

从https://github.com/jquery/jquery.git克隆到本地目录

ls查看文件夹内部文件

mkdir demo  新建一个叫做demo的文件夹

开发完成后将代码提交到远端Git仓库步骤如下:

git add -A 添加到待提交中(如果想添加index.php,也可以直接写$ git add index.php,如果文件多就用-A

git commit是百度的方式,通常写法是git commit -m ‘test‘  引号中算是说明原因

git push/pull push是网上传,pull是往本地下载

提交完成之后必须点击‘快捷发布 ’如下图所示:

 
时间: 2024-10-09 08:05:29

笔记总结的相关文章

《疯狂java-突破程序员基本功的16课 》笔记总结

本人最近读完<疯狂java-突破程序员基本功的16课 >读完后,感觉对java基础又有了新的认识,在这里总结一下:一.数组与内存控制 1.1 数组初始化 java语言的数组是静态的,即数组初始化之后,长度不可以变(区别,JavaScript数组可变,是动态的). 初始化分两种:静态初始化,初始化时由程序员指定每个数组元素的初始值,系统决定长度. 动态初始化,初始化时由程序员指定数组的长度,由系统指定默认值(int为0.boolean为false). 初始化=长度+初始值:注意不能同时指定长度又

10本Java精选书籍助你快速进阶Java顶尖程序员

书是人类进步的阶梯,从某种意义上讲,一个人读书多少,跟这个人将来能有多大成就取得多大成功有着必然的联系,然而读书不仅仅是求量的过程,还需要精读.有选择的读,前面的文章给大家介绍过从零基础学习java编程到精通之路的五本书籍,但是Java学习入门之后,想要往更高层次的Java方向发展,如果能有几本好书的辅助,可以使我们在Java进阶之路上事半功倍,那么下面亦是美网络小编再给大家推荐10本Java精选书籍助你进阶Java顶尖程序员. 1.<深入理解Java虚拟机:JVM高级特性与最佳实践> 本书从

工作2-5年java的程序员,这六个技术栈让你轻松涨薪50%

工作多年以及在面试中,我经常能体会到,有些面试者确实是认真努力工作,但坦白说表现出的能力水平却不足以通过面试,通常是两方面的原因: 1."知其然不知其所以然".做了多年技术,开发了很多业务应用,但似乎并未思考过种种技术选择背后的逻辑.坦白说,我并不放心把具有一定深度的任务交给他. 2.知识碎片化,不成系统.在面试中,面试者似乎无法完整.清晰地描述自己所开发的系统,或者使用的相关技术.平时可能埋头苦干,或者过于死磕某个实现细节,并没有抬头审视这些技术. 前人已经掉过的坑,后来的同学就别再

@Java web程序员,在保留现场,服务不重启的情况下,执行我们的调试代码(JSP 方式)

一.前言 类加载器实战系列的第六篇(悄悄跟你说,这篇比较水),前面5篇在这里: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换 @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码 最近事不算多,所以有点时间写博客,昨天写着写着,测试的同学反馈说有一个bug.我看了下服务端日志,空指针了: 下面会给出详细

【转】成为Java顶尖程序员 ,看这11本书就够了

成为Java顶尖程序员 ,看这11本书就够了 转自:http://developer.51cto.com/art/201512/503095.htm 以下是我推荐给Java开发者们的一些值得一看的好书.但是这些书里面并没有Java基础.Java教程之类的书,不是我不推荐,而是离我自己学习 Java基础技术也过去好几年了,我学习的时候看的什么也忘了,所以我不能不负责任地推荐一些我自己都没有看过的书给大家. 作者:来源:攻城狮之家|2015-12-31 09:55 收藏 分享 “学习的最好途径就是看

Java Web 程序员的职业进阶之路

啥也不说了,都在图里了.希望可以给大家的职业规划一些提示,尤其是写了几年程序,却越来越迷茫的同学. Java Web 程序员的职业进阶之路,布布扣,bubuko.com

Java冠军程序员告诉你如何提升技术

让我们跟着兄弟连JavaEE培训 导师,聊一聊--怎样成为冠军程序员 ? 我认为以下几点能力是非常有帮助的: 1.强大的记忆力.当 我上八年级的时候,全因那位死气沉沉的历史老师,让我自己都相信我的记忆力太差了.然而,令我惊讶的是,历经多年程序员的工作,我惊奇地发现自己对之前看过的 Java 源代码可以立即重现.在我阅读 JDK 里的一个方法(method)的时侯,我常常能说出该方法(method)相较先前版本有无改动.也许我并不能记清楚某个人的长相和名字,但是对于 Java 代码可以做到过目不忘

突破程序员思维

突破程序员思维 来源:技匠的简书 过去我曾一直认为程序员是依靠他们的技术在编程,也是因为技术使得程序员的水平有高低之分,但随着我写代码的时间越来越长,也接触到更多的程序员,我渐渐发现程序员们其实是依靠他们所特有的程序员思维在进行编程的,而他们中的佼佼者正是那些有着更高思维成熟度的优秀程序员们. 什么是程序员思维 那么,什么是程序员思维呢?我曾读到过一些文章,试图给它下一个明确的定义,比如,具备抽象和逻辑思维的能力,拥有面向对象编程和设计的能力等等.我对这些所谓定义有些不以为然,因为,我所体会的程

[转]突破程序员思维

本文转自:https://kb.cnblogs.com/page/597877/ 过去我曾一直认为程序员是依靠他们的技术在编程,也是因为技术使得程序员的水平有高低之分,但随着我写代码的时间越来越长,也接触到更多的程序员, 我渐渐发现程序员们其实是依靠他们所特有的程序员思维在进行编程的,而他们中的佼佼者正是那些有着更高思维成熟度的优秀程序员们. 什么是程序员思维 那么,什么是程序员思维呢?我曾读到过一些文章,试图给它下一个明确的定义,比如,具备抽象和逻辑思维的能力,拥有面向对象编程和设计的能力等等

如何成为一名Java冠军程序员?

每一个稍微有点出息的人,都应该把行业里的前三名作为自己奋斗的目标和对手.你离成为冠军Java程序员还有多远,看完这篇你就知道了. 软件工程师的职业生涯里,知识有一个三年的半衰期.这意味着三年后,你所拥有的一半知识是毫无价值的.举这样一个例子,年纪越大,就越难看到有谁能够了解 TSR(内存驻留程序 Terminate-Stay-Resident ),而找到曾经写过一个 TSR的人更是如同大海捞针.在 DOS系统里,并不能让多个程序同时运行. 因此,在我们需要一个后台功能的时候,比如日历或计算器,我