Guest User

Untitled

a guest
Nov 19th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.05 KB | None | 0 0
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "markdown",
  5. "metadata": {
  6. "ein.tags": "worksheet-0",
  7. "slideshow": {
  8. "slide_type": "-"
  9. }
  10. },
  11. "source": [
  12. "## Все значения в случае необходимости логического эквивалента могут быть автоматически преобразованы в true/false. undefined, null, 0, NaN, '' и false - превращаются в false. Все остальное - true"
  13. ]
  14. },
  15. {
  16. "cell_type": "code",
  17. "execution_count": 3,
  18. "metadata": {
  19. "autoscroll": false,
  20. "collapsed": false,
  21. "ein.tags": "worksheet-0",
  22. "slideshow": {
  23. "slide_type": "-"
  24. }
  25. },
  26. "outputs": [
  27. {
  28. "name": "stdout",
  29. "output_type": "stream",
  30. "text": [
  31. "1 is true\n"
  32. ]
  33. },
  34. {
  35. "name": "stdout",
  36. "output_type": "stream",
  37. "text": [
  38. "any object(function as well) is true\n"
  39. ]
  40. },
  41. {
  42. "data": {
  43. "text/plain": [
  44. "undefined"
  45. ]
  46. },
  47. "execution_count": 3,
  48. "metadata": {},
  49. "output_type": "execute_result"
  50. }
  51. ],
  52. "source": [
  53. "if (1) { console.log('1 is true'); }\n",
  54. "if ('') { console.log('empty string is false'); }\n",
  55. "if (0) { console.log('0 is false'); }\n",
  56. "if (NaN) { console.log('NaN is false'); }\n",
  57. "if (null) { console.log('null is false'); }\n",
  58. "if (undefined) { console.log('undefined is false'); }\n",
  59. "if ({}) { console.log('any object(function as well) is true'); }"
  60. ]
  61. },
  62. {
  63. "cell_type": "markdown",
  64. "metadata": {
  65. "ein.tags": "worksheet-0",
  66. "slideshow": {
  67. "slide_type": "-"
  68. }
  69. },
  70. "source": [
  71. "## ! - унарный оператор, преобразующий свой операнд в обратное булево значение. Если оригинальное значение интерпретируется, как логическое true - в результате преобразования получаем false."
  72. ]
  73. },
  74. {
  75. "cell_type": "code",
  76. "execution_count": 7,
  77. "metadata": {
  78. "autoscroll": false,
  79. "collapsed": false,
  80. "ein.tags": "worksheet-0",
  81. "slideshow": {
  82. "slide_type": "-"
  83. }
  84. },
  85. "outputs": [
  86. {
  87. "name": "stdout",
  88. "output_type": "stream",
  89. "text": [
  90. "!true false\n"
  91. ]
  92. },
  93. {
  94. "name": "stdout",
  95. "output_type": "stream",
  96. "text": [
  97. "!false true\n"
  98. ]
  99. },
  100. {
  101. "name": "stdout",
  102. "output_type": "stream",
  103. "text": [
  104. "!0 true\n"
  105. ]
  106. },
  107. {
  108. "name": "stdout",
  109. "output_type": "stream",
  110. "text": [
  111. "!{} false\n"
  112. ]
  113. },
  114. {
  115. "name": "stdout",
  116. "output_type": "stream",
  117. "text": [
  118. "!\"hello\" false\n"
  119. ]
  120. },
  121. {
  122. "name": "stdout",
  123. "output_type": "stream",
  124. "text": [
  125. "!!1 true\n"
  126. ]
  127. },
  128. {
  129. "name": "stdout",
  130. "output_type": "stream",
  131. "text": [
  132. "!!0 false\n"
  133. ]
  134. },
  135. {
  136. "data": {
  137. "text/plain": [
  138. "undefined"
  139. ]
  140. },
  141. "execution_count": 7,
  142. "metadata": {},
  143. "output_type": "execute_result"
  144. }
  145. ],
  146. "source": [
  147. "console.log('!true', !true);\n",
  148. "console.log('!false', !false);\n",
  149. "console.log('!0', !0);\n",
  150. "console.log('!{}', !{});\n",
  151. "console.log('!\"hello\"', !'hello');\n",
  152. "console.log('!!1', !!1);\n",
  153. "console.log('!!0', !!0);"
  154. ]
  155. },
  156. {
  157. "cell_type": "markdown",
  158. "metadata": {
  159. "ein.tags": "worksheet-0",
  160. "slideshow": {
  161. "slide_type": "-"
  162. }
  163. },
  164. "source": [
  165. "## && возвращает первое ложное значение в цепочке, либо последнее значение, если ложных не найдено. || возвращает первое истинное значение, либо последнее в цепочке, если истина не найдена"
  166. ]
  167. },
  168. {
  169. "cell_type": "code",
  170. "execution_count": 9,
  171. "metadata": {
  172. "autoscroll": false,
  173. "collapsed": false,
  174. "ein.tags": "worksheet-0",
  175. "slideshow": {
  176. "slide_type": "-"
  177. }
  178. },
  179. "outputs": [
  180. {
  181. "name": "stdout",
  182. "output_type": "stream",
  183. "text": [
  184. "0\n"
  185. ]
  186. },
  187. {
  188. "name": "stdout",
  189. "output_type": "stream",
  190. "text": [
  191. "hello\n"
  192. ]
  193. },
  194. {
  195. "data": {
  196. "text/plain": [
  197. "undefined"
  198. ]
  199. },
  200. "execution_count": 9,
  201. "metadata": {},
  202. "output_type": "execute_result"
  203. }
  204. ],
  205. "source": [
  206. "console.log(1 && 2 && 3 && 0 && 4);\n",
  207. "console.log(0 || false || null || 'hello' || 10);"
  208. ]
  209. },
  210. {
  211. "cell_type": "markdown",
  212. "metadata": {
  213. "ein.tags": "worksheet-0",
  214. "slideshow": {
  215. "slide_type": "-"
  216. }
  217. },
  218. "source": [
  219. "## Функции могут присваиваться в переменные в момент создания. В таком случае их называют анонимными функциями."
  220. ]
  221. },
  222. {
  223. "cell_type": "code",
  224. "execution_count": 11,
  225. "metadata": {
  226. "autoscroll": false,
  227. "collapsed": false,
  228. "ein.tags": "worksheet-0",
  229. "slideshow": {
  230. "slide_type": "-"
  231. }
  232. },
  233. "outputs": [
  234. {
  235. "name": "stdout",
  236. "output_type": "stream",
  237. "text": [
  238. "hello world\n"
  239. ]
  240. },
  241. {
  242. "data": {
  243. "text/plain": [
  244. "undefined"
  245. ]
  246. },
  247. "execution_count": 11,
  248. "metadata": {},
  249. "output_type": "execute_result"
  250. }
  251. ],
  252. "source": [
  253. "var f = function() { console.log('hello world'); }\n",
  254. "f();"
  255. ]
  256. },
  257. {
  258. "cell_type": "markdown",
  259. "metadata": {
  260. "ein.tags": "worksheet-0",
  261. "slideshow": {
  262. "slide_type": "-"
  263. }
  264. },
  265. "source": [
  266. "## Объекты позволяют указывать ключи без кавычек в момент создания, если сам ключ удовлетворяет правилам именования переменных. Извлекать значение по такому ключу в будущем можно как с помощью квадратных скобок, так и с помощью точки. Все ключи в момент сохранения преобразуются в строки, потому 1, 1.0, 10e-1, 0.1e1 и \"1\" - это один и тот же ключ."
  267. ]
  268. },
  269. {
  270. "cell_type": "code",
  271. "execution_count": 13,
  272. "metadata": {
  273. "autoscroll": false,
  274. "collapsed": false,
  275. "ein.tags": "worksheet-0",
  276. "slideshow": {
  277. "slide_type": "-"
  278. }
  279. },
  280. "outputs": [
  281. {
  282. "name": "stdout",
  283. "output_type": "stream",
  284. "text": [
  285. "{ '0': 0, 'hello world': 1, bye_world: 2 }\n"
  286. ]
  287. },
  288. {
  289. "name": "stdout",
  290. "output_type": "stream",
  291. "text": [
  292. "0 0 0\n"
  293. ]
  294. },
  295. {
  296. "name": "stdout",
  297. "output_type": "stream",
  298. "text": [
  299. "1\n"
  300. ]
  301. },
  302. {
  303. "name": "stdout",
  304. "output_type": "stream",
  305. "text": [
  306. "2 2\n"
  307. ]
  308. },
  309. {
  310. "data": {
  311. "text/plain": [
  312. "undefined"
  313. ]
  314. },
  315. "execution_count": 13,
  316. "metadata": {},
  317. "output_type": "execute_result"
  318. }
  319. ],
  320. "source": [
  321. "var ob = {0: 0, 'hello world': 1, bye_world: 2};\n",
  322. "console.log(ob);\n",
  323. "console.log(ob[0], ob['0'], ob[0.00]);\n",
  324. "console.log(ob['hello world']);\n",
  325. "console.log(ob['bye_world'], ob.bye_world);"
  326. ]
  327. },
  328. {
  329. "cell_type": "markdown",
  330. "metadata": {
  331. "ein.tags": "worksheet-0",
  332. "slideshow": {
  333. "slide_type": "-"
  334. }
  335. },
  336. "source": [
  337. "## Ключи объекта могут указывать на анонимные функции. В таком случае оказывается крайне удобным использование this, так как функция сразу встроена в объемлющий объект."
  338. ]
  339. },
  340. {
  341. "cell_type": "code",
  342. "execution_count": 17,
  343. "metadata": {
  344. "autoscroll": false,
  345. "collapsed": false,
  346. "ein.tags": "worksheet-0",
  347. "slideshow": {
  348. "slide_type": "-"
  349. }
  350. },
  351. "outputs": [
  352. {
  353. "name": "stdout",
  354. "output_type": "stream",
  355. "text": [
  356. "0\n"
  357. ]
  358. },
  359. {
  360. "name": "stdout",
  361. "output_type": "stream",
  362. "text": [
  363. "6\n"
  364. ]
  365. },
  366. {
  367. "data": {
  368. "text/plain": [
  369. "undefined"
  370. ]
  371. },
  372. "execution_count": 17,
  373. "metadata": {},
  374. "output_type": "execute_result"
  375. }
  376. ],
  377. "source": [
  378. "var counter = {\n",
  379. " count: 0,\n",
  380. " increaseCounter: function() {\n",
  381. " ++this.count;\n",
  382. " }\n",
  383. "}\n",
  384. "console.log(counter.count);\n",
  385. "counter.increaseCounter();\n",
  386. "counter.increaseCounter();\n",
  387. "counter.increaseCounter();\n",
  388. "counter.increaseCounter();\n",
  389. "counter.increaseCounter();\n",
  390. "counter.increaseCounter();\n",
  391. "console.log(counter.count);"
  392. ]
  393. }
  394. ],
  395. "metadata": {
  396. "kernelspec": {
  397. "display_name": "Javascript (Node.js)",
  398. "name": "javascript"
  399. },
  400. "name": "Untitled.ipynb"
  401. },
  402. "nbformat": 4,
  403. "nbformat_minor": 2
  404. }
Add Comment
Please, Sign In to add comment